Linux для ограничения доступа пользователей sftp к их домашним каталогам?
Мне нужно предоставить SFTP-доступ к каталогу в моем веб-роуте на моем сервере. Я установил ben_files как пользователь и установил свой домашний каталог
/var/www/vhosts/mydomain.com/files
Это хорошо, если он соединяется с простым старым FTP - он ограничился только этим каталогом, но для включения SFTP мне пришлось добавить его в bin/ bash shell, который внезапно открывает весь мой сервер...
Есть ли способ предоставить ему SFTP-доступ, но не открывать все мои каталоги? Я бы очень хотел, чтобы он ограничился только своим домом;)
Спасибо!
Ответы
Ответ 1
OpenSSH & ge; 4.8 поддерживает директиву ChrootDirectory
.
Добавьте в /etc/sshd_config
или /etc/ssh/sshd_config
или любой ваш глобальный конфигурационный файл sshd
:
Match user ben_files
# The following two directives force ben_files to become chrooted
# and only have sftp available. No other chroot setup is required.
ChrootDirectory /var/www/vhosts/mydomain.com/files
ForceCommand internal-sftp
# For additional paranoia, disallow all types of port forwardings.
AllowTcpForwarding no
GatewayPorts no
X11Forwarding no
Ответ 2
Вы можете попробовать установить свою оболочку на /bin/rbash
ОГРАНИЧЕННЫЙ ШЕЛЛ Если bash запускается с именем rbash, или параметр -r является поставляется в вызов, оболочка становится ограниченной. Ограниченная оболочка используемый для настройки среды, более контролируемой, чем стандартная оболочка. Это ведет себя одинаково с bash, за исключением того, что следующее находятся запрещен или не выполнен:
· changing directories with cd
плюс еще...
Убедитесь, что вы полностью понимаете, что разрешено и запрещено, прежде чем использовать это.
Ответ 3
Взгляните на rssh. Он может быть уже упакован для вашего распределения o/s.
Ответ 4
Использовать pam_chroot.
Вот хорошее руководство: http://www.howtoforge.com/chroot_ssh_sftp_debian_etch
Ответ 5
Вы также можете установить оболочку users в /bin/false, используя:
usermod -s/bin/false username
Ограничивает их из ssh'ing in и может только sftp (или ftp, если он настроен)
Я использую это для sftp usres, наряду с упомянутой установкой chroot (покрытой другими ответами).