Затворите на FreeBSD надграждат идеята на chroot(8). Използвайки chroot(8) можете да създадете дърво от директории, да го напълните с всичко необходимо за изпълнението на дадена услуга (/etc, /tmp, /usr, /var, /lib и т.н.). Добавяте системни файлове (/etc/passwd, /etc/group ..), нужните библиотеки и самото приложение. Когато изпълните приложението под chroot(8) приложението мисли, че тази директорийна структура е неговата основна.
jail(8) прави същото с няколко допълнителни неща:
Цялата IP дейност минава през един единствен IP адрес.
Налагат се някои ограничения на ниво ядро на процесите в затвора (потребител root в затвора не може да променя IP адресът на затвора, неговият gateway, правила на защитната стена, не може да използва mount(8), нито да вижда файлове/процеси извън затвора и т.н.)
Изглежда твърде добре, за да е истина? В такъв случай - нека започваме.
This, and other documents, can be downloaded from ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.
For questions about FreeBSD, read the documentation before contacting <[email protected]>.
For questions about this documentation, e-mail <[email protected]>.