2003-02-19
Make sure you have a user and group named bind.
# mkdir -p /usr/chroot/named # mkdir -p dev etc/namedb/slave var/run # cp -p /etc/namedb/named.conf /usr/chroot/named/etc/ # gcp -a /etc/namedb/* /usr/chroot/named/etc/namedb/ # chown -R bind:bind /usr/chroot/named/etc/namedb/slave # chown bind:bind /usr/chroot/named/var/run
For FreeBSD…:
# mknod /usr/chroot/named/dev/null c 2 2 # mknod /usr/chroot/named/dev/random c 2 3
For Linux…:
# mknod /usr/chroot/named/dev/null c 1 3 # mknod /usr/chroot/named/dev/random c 1 8
# chmod 666 /usr/chroot/named/dev/{null,random}
# cp /etc/localtime /usr/chroot/named/etc/
On FreeBSD add the following line to rc.conf to enable logging:
syslogd_flags="-s -l /usr/chroot/named/dev/log"
Restart syslog…
# killall syslogd # /usr/sbin/syslogd -s -l /usr/chroot/named/dev/log
Make sure bind has permission to access all the files it needs to, then start it up like this:
/usr/local/sbin/named -u bind -t /usr/chroot/named -c /etc/named.conf
References:
http://www.linuxsecurity.com/docs/LDP/Chroot-BIND-HOWTO.html
