Подтвердить что ты не робот

Linux для ограничения доступа пользователей sftp к их домашним каталогам?

Мне нужно предоставить SFTP-доступ к каталогу в моем веб-роуте на моем сервере. Я установил ben_files как пользователь и установил свой домашний каталог

/var/www/vhosts/mydomain.com/files

Это хорошо, если он соединяется с простым старым FTP - он ограничился только этим каталогом, но для включения SFTP мне пришлось добавить его в bin/ bash shell, который внезапно открывает весь мой сервер...

Есть ли способ предоставить ему SFTP-доступ, но не открывать все мои каталоги? Я бы очень хотел, чтобы он ограничился только своим домом;)

Спасибо!

4b9b3361

Ответ 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.

Ответ 5

Вы также можете установить оболочку users в /bin/false, используя:

usermod -s/bin/false username

Ограничивает их из ssh'ing in и может только sftp (или ftp, если он настроен)

Я использую это для sftp usres, наряду с упомянутой установкой chroot (покрытой другими ответами).