named в jail'e
Добавлено: 2013-02-28 1:07:37
Поднял несколько клеток, в одной из них хотел запустить named. Столкнулся с тем, что из jail'a named не может примонтировать файлы устройств в chroot каталог ("devfs cannot be mounted from within a jail. Thus a chrooted named cannot be run from within a jail"). Сейчас вижу несколько путей решения:
1. Не запускать named в chroot-окружении (он вроде как и так в клетке). Мучают подозрения что это не очень безопасно и желание всё-таки запустить в chroot чисто из спортивного интереса.
2. mknod. нашел вот эту ветку: http://forum.lissyara.su/viewtopic.php?f=8&t=21012 и там проблема решилась mknod'ом. Но тут возникли сложности. Во-первых, man mknod гласит что mknod utility is deprecated, что наводит на мысль что есть какое-то другое более хорошее решение. Плюс почему-то очень мало нашлось информации о том, как mknod использовать, а точнее,лично я так и не разобрался как определить старший и младший номера устройств. Для named'a вроде как нужны null и random, по ссылке выше использовали такие команды:
у меня в каталоге /dev у null показывается 0 и 21, у random - 0 и 33. какие номера устройств использовать и как это понять? и вообще, надо ли пользовать mknod?
3. заглянул в файл /etc/rc.d/named в надежде найти там не-deprecated способ монтирования устройств, там нашел строчки:
тут не понял что происходит в строчках umount ${named_chrootdir}/dev 2>/dev/null и devfs_domount ${named_chrootdir}/dev devfsrules_hide_all и, также, почитав man devfs не очень понял, куда лучше прописать этот вызов, чтобы устройства монтировались до старта клеток.
1. Не запускать named в chroot-окружении (он вроде как и так в клетке). Мучают подозрения что это не очень безопасно и желание всё-таки запустить в chroot чисто из спортивного интереса.
2. mknod. нашел вот эту ветку: http://forum.lissyara.su/viewtopic.php?f=8&t=21012 и там проблема решилась mknod'ом. Но тут возникли сложности. Во-первых, man mknod гласит что mknod utility is deprecated, что наводит на мысль что есть какое-то другое более хорошее решение. Плюс почему-то очень мало нашлось информации о том, как mknod использовать, а точнее,лично я так и не разобрался как определить старший и младший номера устройств. Для named'a вроде как нужны null и random, по ссылке выше использовали такие команды:
Код: Выделить всё
# mknod /chroot/named/dev/null c 0 22 bind:bind
# mknod /chroot/named/dev/random c 0 28 bind:bind
3. заглянул в файл /etc/rc.d/named в надежде найти там не-deprecated способ монтирования устройств, там нашел строчки:
Код: Выделить всё
if [ `${SYSCTL_N} security.jail.jailed` -eq 0 ]; then
umount ${named_chrootdir}/dev 2>/dev/null
devfs_domount ${named_chrootdir}/dev devfsrules_hide_all
devfs -m ${named_chrootdir}/dev rule apply path null unhide
devfs -m ${named_chrootdir}/dev rule apply path random unhide
else
******
fi