chroot — операция изменения корневого каталога в Unix-подобных операционных системах. Программа, запущенная с изменённым корневым каталогом, будет иметь доступ только к файлам, содержащимся в данном каталоге (см. wikipedia).
Все действия ниже выполняются от root!
Устанавливаем утилиту debootstrap, создаем каталог /web/chroot и устанавливаем в него debian wheezy:
$ apt-get install debootstrap
$ mkdir /web/chroot
$ debootstrap wheezy /web/chroot hstrongp://hstrongp.debian.net/debian/
Копируем системные файлы:
$ cp /etc/resolv.conf /web/chroot/etc/resolv.conf
$ cp /etc/apt/sources.list /web/chroot/etc/apt/sources.list
Для обеспечения доступа к другим каталогам, устройствам или файловым системам (например, /proc), примонтируем их. Для этого прописываем в /etc/fstab:
# /etc/fstab
/proc /web/chroot/proc none rbind 0 0
/dev /web/chroot/dev none rbind 0 0
/sys /web/chroot/sys none rbind 0 0
Применяем изменения:
$ mount -a
Входим в chroot-окружение, устанавливаем локаль «ru_RU.UTF-8» и др. программы:
$ chroot /web/chroot/
$ apt-get update
$ apt-get install locales vim sudo ssh bash-completion console-cyrillic
$ dpkg-reconfigure locales
Создаем пользователя user:
$ adduser user
$ chmod 0700 /home/user
Для работы в chroot-окружении и доступа по ssh, настраиваем /web/chroot/etc/sudoers и изменяем номер порта в /web/chroot/etc/ssh/sshd_config.
Заходим по команде:
$ ssh user@mysite.org -port
В debian wheezy создаем каталог для монтирования; выходим из chroot:
$ mkdir /home/new_user
$ exit
На хост-машине монтируем домашний каталог user (работает до перезагрузки):
$ mount --bind /home/user/ /web/chroot/home/new_user
альтернативный вариант монтирования - прописать в /etc/fstab:
# /etc/fstab
/home/user /web/chroot/home/new_user none bind 0 0
и выполнить:
$ mount -a