我已经OpenDKIM按照此处的说明在ubuntu 14.04 服务器中安装了软件包。但该过程不会自动启动。然后我尝试手动运行该过程:
sudo service opendkim start
Run Code Online (Sandbox Code Playgroud)
这导致以下错误:
Starting OpenDKIM: opendkim: /etc/opendkim.conf: /etc/postfix/dkim.key can be read or written by other users opendkim.
Run Code Online (Sandbox Code Playgroud)
我怎样才能开始这个过程?
该错误消息表明包含私钥的文件具有不安全的权限。
系统上的其他用户可能已经读取了您的私钥。如果您的系统上还有其他用户,那么您需要更改密钥并考虑任何依赖于要泄露的密钥的内容。如果这是一个只有管理员拥有帐户的服务器,那么可能没有问题(如果远程漏洞允许攻击者读取本地文件,则可能会出现问题)。
确保/etc/postfix属于 root 并且非 root 用户不可写。这同样适用于/和/etc。也就是说,ls -ld / /etc /etc/postfix应该显示类似
drwxr-xr-x 25 root root 4096 Aug 30 05:59 /
drwxr-xr-x 148 root root 12288 Aug 28 09:45 /etc
drwxr-xr-x 3 root root 4096 Apr 11 2015 /etc/postfix
Run Code Online (Sandbox Code Playgroud)
数字和日期可能会有所不同,但权限和所有权必须正确。如果权限/etc/postfix更严格或者它属于不同的组(但它不应该属于不同的用户),这也可以,但不是必需的。如果.在权限之后有一个就可以了(表示存在 SELinux 上下文)。
确保它/etc/postfix/dkim.key不是公开可读的。它应该归组所有,opendkim或者归root用户所有,或者归root用户所有opendkim。它应该只能由用户读取,也可能由组读取。就像是
-rw-r----- 1 root opendkim 42 Apr 31 2016 /etc/postfix/dkim.key
Run Code Online (Sandbox Code Playgroud)
要修复现有文件的权限,请运行
chown root:opendkim /etc/postfix/dkim.key
chmod 640 /etc/postfix/dkim.key
Run Code Online (Sandbox Code Playgroud)
我不熟悉 OpenDKIM。这些权限最有利于安全(只有 root 可以更改配置,但服务可以读取它),但 root 的所有权可能不起作用。如果没有,则运行
chown opendkim:root /etc/postfix/dkim.key
chmod 600 /etc/postfix/dkim.key
Run Code Online (Sandbox Code Playgroud)
查看您的密钥创建过程。您不应该以公开可读的密钥结束。
| 归档时间: |
|
| 查看次数: |
3342 次 |
| 最近记录: |