msmtp 无法写入 /var/log/msmtp/msmtp.log

Bro*_*ode 8 server email permissions

/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
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?日志文件的权限需要什么才能使 msmtp 能够写入文件?

小智 11

我有同样的错误消息,最终更改权限、创建日志文件等都不起作用。在我的案例中的问题是由 AppArmor 引起的:在我的系统中,该文件/etc/apparmor.d/usr.bin.msmtp仅列为/var/log/msmtp中的写权限/var/log,因此解决方案可以是:

  • 使用/var/log/msmtp在配置日志代替,/var/log/msmtp.log
  • 修改msmtp apparmor配置文件中的规则以允许添加和锁定我们想要的文件。

  • 有同样的问题。最后不得不将日志设置为 ~/.msmtp.log。不明白为什么 AppArmor 不让我使用 /var/log/msmtp 或 /var/log/msmtp/msmtop.log (2认同)