У меня запущен Debian Squeeze и настроена среда chroot (/ jail) с помощью debootstrap.
Как видно из учебника, я смонтировал следующее:
proc on /jail/proc type proc (rw)
devpts on /jail/dev/pts type devpts (rw)
Внутри тюрьмы я запустил дополнительный sshd на другом порту в качестве «родительской» системы.
Пока все работает нормально и как и ожидалось.
Но я только что заметил, что я могу изменить IP-адрес хоста из тюрьмы. Это нормальное поведение? Я подумал, что chrooted окружение не может ничего изменить в "реальной" системе? Но после смены ip-адреса и запуска
/etc/init.d/networking restart
система была доступна только через новый IP-адрес.
Пожалуйста, кто-нибудь может объяснить, почему это так? Есть ли способ предотвратить это? Чтобы все в тюрьме «оставалось в тюрьме»
Заранее большое спасибо.
Каспер
chroots изменяют ТОЛЬКО видимый корень файловой системы для дочерних процессов команды chroot-ing. Все остальное - отправка сигналов, манипулирование ядром и т. Д. - не затрагивается. Довольно просто снова выйти из chroot, если это единственная установленная защита.
Взгляни на LXC, Linux-VServer или OpenVZ для правильных контейнеров в Linux, которые действительно защищают от более чем случайного обхода каталогов.