FreeBSD - chroot ssh

Создание chroot окружения для SSH chroot

Скрипт chroot.user.sh

Использование:

 # ./chroot.user.sh username

добавим фрагмент в sshd.conf

 AllowUsers      username
 
 Match User username
         ChrootDirectory /путь_к_chroot

создание ограниченного /dev в chroot

Для работы, например, scp необходимо устройство /dev/null

Выполним ряд шагов:

  • создадим /etc/devfs.rules
 [chrootssh_ruleset=20]
 add hide
 add path null unhide
 add path zero unhide
 add path crypto unhide
 add path random unhide
 add path urandom unhide
  • добавим в '/etc/fstab'
 devfs                           /путь_к_chroot/dev         devfs   rw      0       0
  • добавим в '/etc/rc.conf'
 devfs_set_rulesets="/путь_к_chroot/dev=chrootssh_ruleset"
  • выполним:
 # mount /путь_к_chroot/dev
 # /etc/rc.d/devfs restart

Замечания

  • убрать юзера из login group webuser (vipw)
  • прописать для юзера дом. каталог /home/имя_юзера
  • прописать для юзера рабочий шелл = /usr/local/bin/bash
  • перенести каталоги public_html, error_log, access_log, cgi-bin в каталог /home/имя_юзера/сайт/
  • в файле конфигурации поправить пути до файлов сайта и прописать доступ для /home/имя_юзера/сайт/
 Options FollowSymLinks
 AllowOverride All
 Order allow,deny
 Allow from all

Ссылки

Комментарии

 
blog/2011/12/08-freebsd_-_chroot_ssh.txt · Последние изменения: 2011/12/08 17:31 — Антон Бугреев · []