首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >msmtp不能写入/var/log/msmtp/msmtp.log

msmtp不能写入/var/log/msmtp/msmtp.log
EN

Ask Ubuntu用户
提问于 2017-01-31 12:52:16
回答 6查看 10.1K关注 0票数 10

/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的当前权限是:

代码语言:javascript
复制
drwxr-xr-x  2 root      root        4096 Jan 29 20:19 msmtp

我做错了什么?要使msmtp能够写入该文件,日志文件上的权限需要什么?

EN

回答 6

Ask Ubuntu用户

发布于 2019-11-23 23:30:44

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

  • /var/log/msmtp用作配置中的日志,而不是/var/log/msmtp.log
  • 修改msmtp apparmor配置文件中的规则,以允许添加和锁定我们想要的文件。
票数 14
EN

Ask Ubuntu用户

发布于 2020-08-22 15:18:43

安装msmtp后,有一个msmtp用户和组。如果将日志文件的所有权更改为msmtp,并将用户和组的权限更改为读/写,则日志记录可以工作。

代码语言:javascript
复制
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。

票数 3
EN

Ask Ubuntu用户

发布于 2021-07-23 04:37:56

我更喜欢在/var/log/mail.log中使用电子邮件日志,因为这是/etc/rsyslog.d/50-default.conf中的默认设置,如果可能的话,我希望避免修改apparmor配置,因此我删除了logfile并将其添加到/etc/msmtprc中:

代码语言:javascript
复制
# The logs will appear in /var/log/mail.log because of the rules in /etc/rsyslog.d/50-default.conf
syslog LOG_MAIL
票数 2
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/878288

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档