参考此处有关 BIND 的 CentOS / RedHat 指南,其中说明了以下内容...
因为 /etc/named.conf 是全世界可读的,所以建议将关键语句放在单独的文件中,只有 root 可读,然后使用 include 语句引用它。
还有以下内容...
确保只有 root 用户可以读取或写入 /etc/rndc.conf 文件。
现在,当我使用以下命令执行此操作时......
chown root:root /etc/rndc.key
chmod 600 /etc/rndc.key
chown root:root /etc/rndc.conf
chmod 600 /etc/rndc.conf
我无法启动 BIND,因为它会在 /var/log/messages 文件中发出以下抱怨...
loading configuration from '/etc/named.conf'
/etc/named.conf:1: open: /etc/rndc.key: permission denied
为了纠正,我现在正在执行以下操作并且 BIND 能够启动...
chown root:named /etc/rndc.key
chmod 640 /etc/rndc.key
chown root:named /etc/rndc.conf
chmod 640 /etc/rndc.conf
Now is that an error in the manual?
答案1
这里的重点是没有特权的用户能够读取该文件。
如果您以指定用户的身份运行 BIND,那么他将需要访问该文件。
您还应该能够设置:
chown named:root /etc/rndc.key
chmod 600 /etc/rndc.key
但你的许可实际上并没有更糟(另请参阅:https://access.redhat.com/site/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Deployment_Guide/s2-bind-rndc.html)。
无关提示:通常,我还建议在 chroot 中运行 BIND。CentOS
/RedHat 软件包支持此功能 ( bind-chroot
)。