目前,当使用Thunderbird等客户端发送电子邮件时,我的邮件会使用DKIM进行签名。然而,当从网络应用程序生成电子邮件时,它们不会被签名。
我使用了一个名为dkim的Rails gem在发送时应用密钥,但是在/var/cpanel/domain_keys/private/[filename]
中找到的私钥的位置和文件权限超出了Rails应用程序的用户权限范围。
我的rails应用程序当前在用户帐户"whatever"下运行whatever是我的网络主机的用户帐户。我认为仅仅为了阅读DKIM私钥文件内容而将"whatever"用户添加到"mail"组是不明智的,那么我的解决方案是什么呢?我尝试过ACL(执行命令sudo setfacl -m u:whatever:r /var/cpanel/domain_keys/private/[filename]
时没有错误,但用户"whatever"仍然无法读取文件)。
我认为最简单的解决方案是在部署时象征性地将文件链接到我的应用程序目录中的一个位置,但我仍然需要sudo权限
解决方案还设置了"execute",而不仅仅是"read"。您还需要对用户当前被拒绝访问的父目录执行此操作。
sudo setfacl -m u:whatever:rx /var/cpanel/domain_keys/private
然后
sudo setfacl -m u:whatever:rx /var/cpanel/domain_keys/private/[filename]