在/etc/msmtprc中,我为gmail帐户添加了凭据,并指定了要在/var/log/msmtp/msmtp.log中使用的日志文件。
我还在/var/log/msmtp/msmtp.log中创建了文件夹和文件
当我使用:echo "This is a test e-mail from my server using msmtp!" | msmtp ******@gmail.com测试它时
我收到了一封电子邮件,但在终端中我也看到了这样的错误消息:msmtp: cannot log to /var/log/msmtp/msmtp.log: cannot open: Permission denied
/var/log/msmtp的当前权限是:
drwxr-xr-x 2 root root 4096 Jan 29 20:19 msmtp我做错了什么?要使msmtp能够写入该文件,日志文件上的权限需要什么?
发布于 2019-11-23 23:30:44
我收到了同样的错误消息,最终更改权限、创建日志文件等操作都不起作用。在我的例子中,问题是由AppArmor引起的:在我的系统中,文件/etc/apparmor.d/usr.bin.msmtp只将/var/log/msmtp列为/var/log中的写权限,因此解决方案可以是:
/var/log/msmtp用作配置中的日志,而不是/var/log/msmtp.logmsmtp apparmor配置文件中的规则,以允许添加和锁定我们想要的文件。发布于 2020-08-22 15:18:43
安装msmtp后,有一个msmtp用户和组。如果将日志文件的所有权更改为msmtp,并将用户和组的权限更改为读/写,则日志记录可以工作。
groups msmtp
sudo touch /var/log/msmtp
sudo chown msmtp:msmtp /var/log/msmtp
sudo chmod 660 /var/log/msmtp我还没有测试它,但是如果您正确地设置了文件夹的权限,我想这也适用于/var/log/msmtp/msmtp.log。
发布于 2021-07-23 04:37:56
我更喜欢在/var/log/mail.log中使用电子邮件日志,因为这是/etc/rsyslog.d/50-default.conf中的默认设置,如果可能的话,我希望避免修改apparmor配置,因此我删除了logfile并将其添加到/etc/msmtprc中:
# The logs will appear in /var/log/mail.log because of the rules in /etc/rsyslog.d/50-default.conf
syslog LOG_MAILhttps://askubuntu.com/questions/878288
复制相似问题