Нам понадобится первый установочный диск FreeBSD 6.2 и немного свободного времени.
Предполагается что наша jail-машина будет размещена в директории /var/jail.Список действий:
1. Создать директорию /var/jail/machine для jail-машины;
2. Смонтировать установочный диск и распаковать базовые файлы в директорию jail-машины:
# mount /cdrom
для bash:
# DESTDIR=/var/jail/machine /cdrom/6.2-RELEASE/base/install.sh
для csh:
# env DESTDIR=/var/jail/machine /cdrom/6.2-RELEASE/base/install.sh
3. Создать пустой файл /var/jail/machine/etc/fstab:
# touch /var/jail/machine/etc/fstab
4. Создать файл /var/jail/machine/etc/rc.conf со следующим содержанием:
# Запускаем sshd
sshd_enable="YES"
sendmail_enable="NONE"
syslogd_flags="-ss"
rpcbind_enable="NO"
network_interfaces=""5. Теперь требуется создать непривилегированного пользователя и изменить пароль пользователя root.
Входим в каталог jail-машины# chroot /var/jail/machine /bin/csh
Создаем пользователя
# adduser
Меняем пароль пользователя root
# passwd
# exit6. В файл /etc/rc.conf основной системы добавить:
# Разрешаем запуск jail-машин
jail_enable="YES"
# Запрещаем им менять свое имя jail_set_hostname_allow="NO"
# Перечисляем jail-машины в системе.
jail_list="machine"# Jail-машина "machine"
# Корневая директория jail_machine_rootdir="/var/jail/machine"
# Имя jail_machine_hostname="machine.local"
# IP-адрес jail_machine_ip="192.168.0.10"
# На какой сетевой интерфейс будет цепляться jail-машина
jail_machine_interface="ed0"
# монтируем файловую систему devfs внутри jail-машины.
jail_machine_devfs_enable="YES"
# Скрипты запуска и останова
jail_machine_exec_start="/bin/sh /etc/rc"
jail_machine_exec_stop="/bin/sh /etc/rc.shutdown"7. Кроме того требуется все запускаемые сервисы основной системы привязать к его ip-адресам
(не должны слушаться порты на ip-адресах jail-машин).
Например, в rc.conf:# Супер-сервер inetd
inetd_enable="YES"
# Слушает порт только на 192.168.0.1
inetd_flags="-wW -a 192.168.0.1"
# Syslogd
syslogd_enable="YES"
# Не слушать порты
syslogd_flags="-ss"8. Запускаем созданную jail-машину:
# /etc/rc.d/jail start
URL: http://mr-tacitus.blogspot.com/2007/10/jail-freebsd.html
Обсуждается: http://www.opennet.me/tips/info/1546.shtml
Я бы посоветовал просто make world -DNO_CLEAN DESTDIR=.... Это быстро, при условии, что вы сами собрали свой текущий world, а кроме того и система будет свежая. Таким образом можно быстро наделать нужное кол-во jail'ов.
Бред какой то.
man mount_nullfs
>Бред какой то.
>man mount_nullfsВ таком случае http://mr-tacitus.blogspot.com/2007/12/jail.html :)
это называется быстро? :)make -C /usr/ports/sysutils/ezjail
ezjail-admin install
ezjail-admin create ...
можно рута на такой джейл ?
скопирую весь диск себе, мож найду чего интересного, конфиденциального...
>можно рута на такой джейл ?
>скопирую весь диск себе, мож найду чего интересного, конфиденциального...можно, только дальше jail не уползешь
Николай, на дырявость какого компонента вы намекаете? nullfs или ezjail?
devfs# монтируем файловую систему devfs внутри jail-машины.
jail_machine_devfs_enable="YES"
+ jail_machine_devfsruleset='devfsrules_jail'