
我正在尝试将 BIND 服务器存储查询日志的文件从 /var/log/messages 中的消息文件更改为 /var/log/named/named.log。当我重新启动 BIND 服务以使更改生效时,它无法启动,因为该服务没有访问新日志文件的权限。我如何授予 BIND 访问新日志文件的权限?以下是错误的输出。我在 Debian 上运行此服务器。
--
-- A start job for unit bind9.service has finished with a failure.
--
-- The job identifier is 3717 and the job result is failed.
Jun 27 17:12:11 bcc-21 named[3188]: configuring command channel from '/etc/bind/rndc.key'
Jun 27 17:12:11 bcc-21 named[3188]: command channel listening on 127.0.0.1#953
Jun 27 17:12:11 bcc-21 named[3188]: configuring command channel from '/etc/bind/rndc.key'
Jun 27 17:12:11 bcc-21 named[3188]: command channel listening on ::1#953
Jun 27 17:12:11 bcc-21 named[3188]: isc_stdio_open '/var/log/named/named.log' failed: permission denied
Jun 27 17:12:11 bcc-21 named[3188]: configuring logging: permission denied
Jun 27 17:12:11 bcc-21 named[3188]: loading configuration: permission denied
Jun 27 17:12:11 bcc-21 named[3188]: exiting (due to fatal error)
答案1
您需要创建/var/log/named
并授予其正确的权限,以便 bind 在其中创建文件。通常您需要运行(以 root 身份):
mkdir /var/log/named
chown named /var/log/named
其中named
user 是 bind 实际运行的用户。这是大多数 Linux 发行版中的通用名称,但可能会有所不同。