named.conf 和 rndc.key 是否只能由 root 访问?

named.conf 和 rndc.key 是否只能由 root 访问?

参考此处有关 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)。

相关内容