我编写的 systemd 服务以 root 权限启动,并取消系统帐户(称为 mxdaemon)的权限。这些服务需要访问物理串行端口(/dev/ttyS0
)在电脑上。串行端口ls -l
:
Serial port: crw-rw---- 1 root dialout 4, 64 Jun 13 22:00 /dev/ttyS0
当以 root 身份运行时,该服务通过串行端口进行通信没有问题。
当服务配置为取消 mxdaemon 的权限时,我在尝试访问时收到权限被拒绝错误/dev/ttyS0
.
mxdaemon 是以下两个组织的成员dialout
& tty
团体:
mxdaemon : mxdaemon dialout tty
即使注销和/或重新启动电脑后,除 root 之外的任何用户的权限仍然被拒绝。
几个小时的互联网搜索表明一切都配置正确。
任何帮助,将不胜感激!
-Rob
@sawdust:感谢您的回复!这是信息...
/etc/group
: dialout:x:20:mxdaemon,mxadmin
/etc/gshadow
: dialout:*::mxdaemon,mxadmin
感谢您的指针@sawdust - 这是命令产生的结果......
ps -o user= -o group= -p 15150
mxdaemon root
所以,用户是mxdaemon
但它表明自己是其中的一部分root
group?