Jail/ru
Jail («тюрьма») — механизм отделения процессов в операционных системах Unix.
Jail позволяет разделить выполнение различных процессов.
Например, вы можете держать любой сервис (apache, sshd, и т.д.) в jail и не бояться, что потеряете всю систему целиком в случае его компрометации.
Jail может быть как полнофункциональной системой, так и набором только необходимых файлов.
Этот материал поможет Вам разобраться с запуском.
cd /usr/src make buildworld make installworld DESTDIR=/usr/jail/ cd /usr/src/etc make distribution DESTDIR=/usr/jail/
Jail не имеет собственного ядра, создают поддельный.
cd /usr/jail/ ln -sf dev/null kernel
Для работы нам требуется смонтировать dev файлсистему, итак, создали фейковоя ядро, монтируем.
mount_devfs devfs /usr/jail/dev
Делаем свой resolv.conf, с системы.
cp /etc/resolv.conf /usr/jail/etc/
Jail rc.conf
sshd_enable="YES" # для этого убедитесь в корректной настройке /etc/ssh/sshd_config hostname="***.***.***" sendmail_enable="NO" sendmail_submit_enable="NO" sendmail_outbound_enable="NO" sendmail_msp_queue_enable="NO" linux_enable="YES" # убедитесь в настройке linproc (в конце этой помощи)
Уберём периодическую отправку почты Jail /etc/periodic.conf
daily_clean_hoststat_enable="NO" daily_status_mail_rejects_enable="NO" daily_status_include_submit_mailq="NO" daily_submit_queuerun="NO"
Далее в rc.conf настраиваем jail переменные
jail_enable="YES" jail_list="first" # Space separates list of names of jails jail_set_hostname_allow="NO" # Allow root user in a jail to change its hostname jail_socket_unixiproute_only="YES" # Route only TCP/IP within a jail jail_interface="dc0" # change to host interface alias for same ip jail_devfs_enable="YES" # mount devfs in the jail jail_procfs_enable="YES" # mount procfs in jail
Индивидуальные настройки для первого запуска
jail_first_rootdir="/usr/jail" jail_first_hostname="***.***.***" jail_first_ip=.127.0.0.2. # for one ip, use the same ip as host. jail_first_exec="/bin/sh /etc/rc" jail_one_devfs_enable="YES"
Запускаем
/etc/rc.d/jail start
Настраиваем порты (в jail)
portsnap fetch portsnap extract
или
porsnap fetch extract
Устанавливаем ОС (In jail and host)
cd /usr/ports/emulators/linux_base-fc4 sudo make install
Добавляем процедуры linuxproc в jail, редактируем индивидуально /etc/fstab
jlinproc /usr/jail/compat/linux/proc linprocfs rw 0 0
Затем монтируем (разумеется хозяином)
Заметка: jlinprc далее может меняться.
mount jlinproc
Пишите на jamesthefishy@gmail.com если найдёте ошибки.