#ssh #sftp
Пользователи подключаются к серверу через SFTP. При этом каждому из них доступен просмотр любого каталога на сервере, если права на каталог не x00. Как можно ограничить пользователя? Дать возможность просматривать только свой домашний каталог?
Ответы
Ответ 1
в openssh, начиная с версии 4.9, добавлена возможность делать chroot для пользователей. для этого нужно в конец конфигурационного файла sshd (обычно /etc/ssh/sshd_config) добавить такие строки (здесь подразумевается, что домашние каталоги располагаются в каталоге /home): match group sftponly chrootdirectory /home/%u forcecommand internal-sftp заодно убедитесь, что в этом файле присутствует строка, начинающаяся с subsystem sftp. если есть, но закомментирована — раскомментируйте. если же совсем отсутствует что-либо подобное, вставьте (выше строки, начинающейся с match) такую строку: subsystem sftp internal-sftp после этого надо проверить корректность внесённых изменений: $ sudo /usr/sbin/sshd -t если проверка успешна, перезапустите sshd. обычно так: $ sudo service ssh restart затем нужно создать группу (вообще имя произвольное, можно использовать и другое, не забыв подправить его в вышеуказанном файле): $ sudo groupadd sftponly затем нужного пользователя(-ей) нужно добавить в эту группу. в debian и основанных на нём дистрибутивах (и ещё многих, не основанных) есть удобная программа adduser: $ sudo adduser <имя пользователя> sftponly в тех дистрибутивах, где нет такой программы, можно сделать примерно так: $ sudo useradd -a -G sftponly <имя пользователя> и, наконец, нужно сделать root-а владельцем домашнего каталога выбранного пользователя(-ей) и запретить другим возможность записи в этот каталог: $ sudo chown root:root /home/<имя пользователя> $ sudo chmod go-w /home/<имя пользователя> дополнение по поводу домашнего каталога в директиве chrootdirectory. если домашний каталог пользователя находится не в /home, имеет смысл в этой директиве использовать полный путь к домашнему каталогу с помощью %h: chrootdirectory %h
Комментариев нет:
Отправить комментарий