![Debian:无法以普通用户身份使用 SSMTP 发送电子邮件](https://linux22.com/image/124546/Debian%EF%BC%9A%E6%97%A0%E6%B3%95%E4%BB%A5%E6%99%AE%E9%80%9A%E7%94%A8%E6%88%B7%E8%BA%AB%E4%BB%BD%E4%BD%BF%E7%94%A8%20SSMTP%20%E5%8F%91%E9%80%81%E7%94%B5%E5%AD%90%E9%82%AE%E4%BB%B6.png)
我在使用 SSMTP 来让我以普通用户身份发送电子邮件时遇到一些问题。当我一年前设置这台机器时,我用过阿奇的指示设置安全性,但显然在某个时候(我认为)更新无声无息地破坏了,我刚刚意识到我还没有收到来自 cron 之类的电子邮件。我宁愿不必希望我注意到 ssmtp 更新并手动更改所有内容。
我收到了看起来像经典权限错误的信息:
$ echo "This is a test" | mail -s "Subject" <my email>
send-mail: Cannot open mailhub:25
Can't send mail: sendmail process failed with error code 1
当我使用 sudo 运行邮件时,效果非常好。但是,我的权限看起来很好:
$ sudo ls -l /usr/sbin/ssmtp
-rwxr-xr-x 1 root root 39784 Jul 14 2014 /usr/sbin/ssmtp
$ sudo ls -l /etc/ssmtp/ssmtp.conf
-rw-r----- 1 root root 699 Dec 28 16:35 /etc/ssmtp/ssmtp.conf
我已将我的用户添加到“root”组,这看起来有点可疑,尽管我之前尝试过使用“mail”组:
$ groups
root mail [...]
令人沮丧的是,我这里有一个 ubuntu 盒子,它的配置看起来完全一样,只是它可以工作。我到底做错了什么? [本机运行的是 Debian“stretch”,ssmtp 软件包版本 2.64-8+b2]
编辑-根据要求,我尝试在详细模式下使用邮件,这没有产生任何额外的输出(?)
$ echo "Test" | mail -v -s "Test" [email protected]
send-mail: Cannot open mailhub:25
Can't send mail: sendmail process failed with error code 1
答案1
如果你用过那些Arch 配置说明Debian 升级后缺少的部分是没有任何东西可以告诉 Debian 重新应用 setgid 位。运行这两个命令(或者使用脚本,/root/bin/ssmtp-set-permissions
如果您创建了该脚本)
chown :ssmtp /usr/bin/ssmtp
chmod g+s /usr/bin/ssmtp