Как ограничить доступ к серверу только по SFTP


alexu аватар

alexu - Posted on 27 Февраль 2009

Бывает, нужно ограничить доступ к компьютеру только по SFTP, не давая пользователям возможности залогиниться в shell. Для этого нужно сделать 2 вещи:
1. Добавить sftp-server в список разрешенных шеллов:

Найдите sftp-server на вашем сервере (для Debian/Ubuntu это будет /usr/lib/sftp-server, для RHEL это /usr/libexec/openssh/sftp-server). Добавьте нужный вам полный путь к нему отдельной строчкой в /etc/shells

# echo '/path/to/sftp-server' >> /etc/shells

где /path/to/sftp-server - полный путь к вашему sftp-server

2. Поставить sftp-server шеллом нужного пользователя

Либо отредактируйте /etc/passwd и поставьте опять же полный путь к sftp-server в пользовательской записи вместо /bin/bash, либо воспользуйтесь командой usermod, i.e.

# usermod -s /path/to/sftp-server userid

, где /path/to/sftp-server - полный путь к SFTP на вашей системе, а userid - имя пользователя

Обратите внимание, что при таком методе нельзя будет использовать scp, только sftp! Если вы хотите, чтобы можно было работать и с scp, попробуйте воспользоваться пакетом scponly (присутствует в Debian/Ubuntu)

Теперь осталось только узнать, как заставить пользователей SFTP ограничить также, как это делает, к примеру, rbash :-)

0
Ваша оценка: Ничего

Помещать пользователя в свой chroot после логина для SFTP нужд?

для chroot нужен модифицированный ssh. а самосборкой ssh, модифицированным в непонятных местах, особо заниматься не хочется.

Отправить комментарий

Google Friend Connect (leave a quick comment)
loading...
Содержание этого поля является приватным и не предназначено к показу.