Serge Hallyn опубликовал патч, реализующий функциональность наподобие jail в FreeBSD, используя возможности LSM (Linux Security Modules) подсистемы в Linux (для 2.6.x ядер).
Процессы работающие в jail окружении, привязаны к определенному IP и не могут: выполнять операции монтирования, посылать сигналы внешним процессам, создавать устройства, подгружать модули ядра, управлять приоритетом выполнения, создавать raw-сокеты, использовать внешние IPC блоки и изменять настройки сетевой подсистемы.
Для jail окружения создается отдельная, изолированная, иерархия /proc/.
Кроме того, патчи поддерживают работу с IPv6.
Ниже, пример создания ssh кружения в jail:
1. modprobe bsdjail
1.5 /sbin/ifconfig eth0:0 2.2.2.2;
1.6 /sbin/route add -host 2.2.2.2 dev eth0:0 (optional)
2. Make sure the root filesystem (ie /dev/hdc5) is not mounted anywhere else.
3. exec_private_namespace /bin/sh
4. mount /dev/hdc5 /opt
5. mount -t proc proc /opt/proc
6. echo -n "root /opt" > /proc/$$/attr/exec
echo -n "ip 2.2.2.2" > /proc/$$/attr/exec (optional)
7. exec /bin/sh
8. sshd
9. exit
|