命令最终以什么用户身份执行?

命令最终以什么用户身份执行?

如何查明某个命令是以哪个用户身份执行的? (我正在运行 Ubuntu,但我怀疑答案通常适用于 Unix)。

我想做的是开始msmtp跑步并登录到/var/log/msmtp.我已将该文件的所有者和组设置为mail,然后通过以下方式将我的用户添加到邮件组sudo adduser dandv mail

$ ls -al /var/log/msmtp.log
-rw-rw---- 1 mail mail 0 Jul 24 18:45 /var/log/msmtp.log
$ groups dandv
dandv : dandv mail sudo

然而当我跑步时

cat testmail | msmtp [email protected] -v

我的权限被拒绝:

msmtp: cannot log to /var/log/msmtp.log: cannot open: Permission denied

msmtp 的问题是什么?

答案1

呃。显然我必须注销并再次登录才能使我的用户加入群组的mail操作生效。太差劲了。

相关内容