启动进程opendkim的问题

Mos*_*man 1 process ubuntu

我已经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)

我怎样才能开始这个过程?

Gil*_*il' 5

该错误消息表明包含私钥的文件具有不安全的权限。

系统上的其他用户可能已经读取了您的私钥。如果您的系统上还有其他用户,那么您需要更改密钥并考虑任何依赖于要泄露的密钥的内容。如果这是一个只有管理员拥有帐户的服务器,那么可能没有问题(如果远程漏洞允许攻击者读取本地文件,则可能会出现问题)。

确保/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)

查看您的密钥创建过程。您不应该以公开可读的密钥结束。