在此处参考 BIND 上的 CentOS / RedHat 指南,它说以下...
因为 /etc/named.conf 是全球可读的,建议将 key 语句放在一个单独的文件中,只有 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?
这里的重点是没有非特权用户能够读取该文件。
如果您以指定用户身份运行 BIND,那么他将需要访问它。
您还应该能够设置:
但是您的许可并没有更糟(另请参见: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
)。