Chroot для SSH/SFTP/FTP

Дата публикации: Март 2, 2011 - 13:10:04, ср

В кратце о том, как разрешил только домашнюю директорию для пользователей FTP/SFTP/SSH. В качестве инструментов использовал Ubuntu 10.10 Server, а так же программы lshell (с ее помощью обрезал оболочку для пользователя) и MySecureShell (с ее помощью разрешил SFTP доступ только к домашней директории пользователя).

  1. # редактируем репозитарий
  2. sudo nano /etc/apt/sources.list
  3.  
  4. # добавляем следующие строки
  5. #deb http://mysecureshell.free.fr/repository/index.php/ubuntu testing main
  6. #deb-src http://mysecureshell.free.fr/repository/index.php/ubuntu testing main
  7.  
  8. # качаем необходимые пакеты
  9. gpg —keyserver hkp://pool.sks-keyservers.net —recv-keys E328F22B; gpg —export E328F22B | sudo apt-key add –
  10. sudo apt-get update
  11. sudo apt-get install lshell mysecureshell
  12.  
  13. # создаем нового пользователя
  14. sudo adduser user1
  15. # устанавливаем для него оболочку lshell
  16. sudo usermod -s /usr/bin/lshell user1
  17.  
  18. # смотрим конфиг лшелла – правим так как надо
  19. # впринципе, можно оставить как есть
  20. sudo nano /etc/lshell.conf
  21.  
  22. # делаем chroot для sftp с помощью MySecureShell
  23. sudo nano /etc/ssh/sshd_config
  24. # меняем Subsystem sftp /usr/lib/openssh/sftp-server на Subsystem sftp /bin/MySecureShell -c sftp-server
  25. # ребутим ssh
  26. sudo service ssh restart
  27. # делаем chroot для pure-ftp (по умолчанию в Ubuntu Server 10.10)
  28. cd /etc/pure-ftpd/conf/
  29. sudo touch ChrootEveryone
  30. sudo nano ChrootEveryone
  31. # вписываем yes
  32. sudo /etc/init.d/pure-ftpd restart

Небольшой бонус: как примонтировать удаленную папку в локальной файловой системе (на примере Ubuntu):

  1. sudo apt-get install sshfs
  2. mkdir ~/user1
  3. sshfs user1@hostname:/ ~/user1

Теги: ubuntu
Просмотров: 780

Что скажете?

Имя:
Код Код с картинки: