在 Web 应用程序中读取私有 dkim 文件内容的用户权限

User permissions for reading private dkim file contents within web app

目前,当使用 Thunderbird 等客户端发送电子邮件时,我的邮件会使用 DKIM 进行签名。但是,当从 Web 应用程序生成电子邮件时,它们不会被签名。

我使用了一个名为 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' 仍然无法读取文件)。

我认为最简单的解决方案是在部署时将文件象征性地 link 到我的应用程序目录中的某个位置,但我仍然需要 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]