Начальные условия:
Статью, рекомендованную выше читал, почти по ней и делаю, только bind девятый и нестатически собираю. Собираю из исходников, взятых на сайте bind.
Запускаю таким скриптом:
#!/bin/sh
chrootdir='/var/www/chroot/named'
binddir='/usr/local/bind9.2.2'
case "$1" in
start)
${chrootdir}${binddir}/sbin/named -t ${chrootdir} -u bind -c /etc/namedb
;;
stop)
echo "Stop named:"
kill `cat ${chrootdir}/var/run/named.pid`
;;
esac
exit 0
# ls -l /var/www/chroot/named/var/
drwxrws--- 2 bind bind 512 17 ЙАМ 17:25 run
Эксперимент N1:
/var/www/chroot/named/etc/named.conf:
options {
directory "/etc/namedb";
pid-file "/var/www/chroot/named/var/run/named.pid";
}
Результат N1:
named[3770]: starting BIND 9.2.2 -t /var/www/chroot/named -u bind -c /etc/namedb/named.conf
named[3770]: command channel listening on 127.0.0.1#953
named[3770]: couldn't open pid file '/var/www/chroot/named/var/run/named.pid': Permission denied
named[3770]: exiting (due to early fatal error)
Эксперимент N2:
/var/www/chroot/named/etc/named.conf:
options {
directory "/etc/namedb";
pid-file "/var/run/named.pid";
}
Результат N2:
named[3778]: starting BIND 9.2.2 -t /var/www/chroot/named -u bind -c /etc/namedb/named.conf
named[3778]: command channel listening on 127.0.0.1#953
named[3778]: couldn't open pid file '/var/run/named.pid': Permission denied
named[3778]: exiting (due to early fatal error)
Теперь делаю такие права на каталог:
# ls -l /var/www/chroot/named/var/
drwxrwxrwx 2 bind bind 512 17 ЙАМ 17:25 run
Провожу два вышеописанных эксперимента и - тот же результат.
Меняю строку запуска в скрипте запуска на:
${chrootdir}${binddir}/sbin/named -t ${chrootdir} -c /etc/namedb/named.c
Получаю в /var/log/messages:
named[3977]: starting BIND 9.2.2 -t /var/www/chroot/named -c /etc/namedb/named.conf
named[3977]: command channel listening on 127.0.0.1#953
и ps -ax | grep named :
3977 ?? Ss 0:00.31 /var/www/chroot/named/usr/local/bind9.2.2/sbin/named
3981 p0 S+ 0:00.02 grep named
В общем заработало. Что еще посмотреть, чтобы от пользователя bind заработало?