Вчера я установил CentOS 5.4 на один из моих серверов, и похоже, что официальный пакет BIND / named не запускается по причинам, которые я не могу понять.
Вот что происходит:
[root@hal init.d]# service named start
Starting named:
Error in named configuration:
/etc/named.conf:57: open: named.root.hints: permission denied
[FAILED]
Рассматриваемая строка с параметром каталога для контекста:
// further up in the file:
directory "/var/named";
// line 57:
include "named.root.hints";
Как и вы, моей первой реакцией было проверить разрешения на /var/ named/ named.root.hints, / var / named и / var, чтобы убедиться, что named
пользователь сможет его прочитать. Вот разрешения на каждом уровне:
drwxr-xr-x 19 root root 4096 Nov 3 02:05 var
drwxr-x--- 5 root named 4096 Nov 3 02:36 named
-rw-r--r-- 1 named named 524 Mar 29 2006 named.root.hints
С разрешениями все в порядке. Та же ошибка возникает, если /var/named
каталог доступен для записи указанному пользователю. Я даже временно разрешил named
пользователь для входа через bash, su
'ed от корня к имени, и проверил, что я действительно могу cat /var/named/named.root.hints
успешно. (Да, не волнуйтесь: я снова заменил оболочку на nologin).
Моя последняя попытка показала, что BIND может работать под named
учетная запись пользователя и запускается нормально, если это сделано вручную:
[root@hal ~]# named -u named -g
03-Nov-2009 16:31:02.021 starting BIND 9.3.6-P1-RedHat-9.3.6-4.P1.el5 -u named -g
03-Nov-2009 16:31:02.021 adjusted limit on open files from 1024 to 1048576
03-Nov-2009 16:31:02.021 found 2 CPUs, using 2 worker threads
03-Nov-2009 16:31:02.021 using up to 4096 sockets
03-Nov-2009 16:31:02.028 loading configuration from '/etc/named.conf'
03-Nov-2009 16:31:02.030 using default UDP/IPv4 port range: [1024, 65535]
03-Nov-2009 16:31:02.031 using default UDP/IPv6 port range: [1024, 65535]
03-Nov-2009 16:31:02.034 listening on IPv4 interface lo, 127.0.0.1#53
03-Nov-2009 16:31:02.034 listening on IPv4 interface eth0, 10.0.0.5#53
03-Nov-2009 16:31:02.034 listening on IPv4 interface eth1, ww.xx.yy.zz#53
03-Nov-2009 16:31:02.040 command channel listening on 127.0.0.1#953
03-Nov-2009 16:31:02.040 command channel listening on ::1#953
03-Nov-2009 16:31:02.040 ignoring config file logging statement due to -g option
03-Nov-2009 16:31:02.041 zone 0.in-addr.arpa/IN/localhost_resolver: loaded serial 42
03-Nov-2009 16:31:02.042 zone 0.0.127.in-addr.arpa/IN/localhost_resolver: loaded serial 1997022700
03-Nov-2009 16:31:02.042 zone 255.in-addr.arpa/IN/localhost_resolver: loaded serial 42
03-Nov-2009 16:31:02.042 zone 0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa/IN/localhost_resolver: loaded serial 1997022700
03-Nov-2009 16:31:02.043 zone localdomain/IN/localhost_resolver: loaded serial 42
03-Nov-2009 16:31:02.043 zone localhost/IN/localhost_resolver: loaded serial 42
03-Nov-2009 16:31:02.043 zone x.y.z.in-addr.arpa/IN/internal: loaded serial 1
03-Nov-2009 16:31:02.044 zone x.y.z/IN/internal: loaded serial 2
03-Nov-2009 16:31:02.045 running
Какой тип и размер огнестрельного оружия следует использовать для решения этой проблемы? Я бы предпочел что-нибудь с автоматическими боеприпасами, и, в худшем случае, оно должно уместиться на моем плече. Конечно, я открыт для предложений.
В системах на основе Redhat (вполне возможно, в других) / etc / sysconfig / named может определять ROOTDIR = / var / named / chroot, который делает то, что вы думаете. Пакет bind-chroot устанавливает только структуру каталогов в / var / named / chroot. Если ROOTDIR определен там И bind-chroot не установлен, я ожидаю увидеть эту ошибку.
-Дэйв
Хотел опубликовать это, если у кого-то такая же проблема:
Всегда перезагружайтесь сразу после отключения SELinux, а не ждите целый день.
BIND теперь запускается без проблем. Я рыдаю перед сном.