Я хочу предоставить клиенту доступ к моему серверу, но я хочу ограничить этих пользователей их домашними каталогами. Я буду привязывать-монтировать любые файлы, которые я хочу, чтобы они могли видеть.
Я создал пользователя с именем bob и добавил его в новую группу под названием sftponly. У них есть домашний каталог по адресу /home/bob. Я изменил их оболочку на /bin/false чтобы остановить вход в систему по SSH. Вот их /etc/passwd линия:
bob:x:1001:1002::/home/bob:/bin/falseЯ также изменил /etc/ssh/sshd_config чтобы включить следующее:
Match Group sftponly ChrootDirectory /home/%u ForceCommand internal-sftp AllowTcpForwarding noКогда я пытаюсь войти в систему под их именем, вот что я вижу
$ sftp bob@serverbob@server's password: Write failed: Broken pipeCouldn't read packet: Connection reset by peerЕсли я прокомментирую ChrootDirectory линия, в которой я могу подключиться к SFTP, но тогда у них есть свобода действий над сервером. Я обнаружил, что ChrootDirectory /home работает, но это по-прежнему дает им доступ к любому домашнему каталогу. Я явно пытался ChrootDirectory /home/bob но это тоже не работает.
Что я делаю не так? Как я могу ограничить bob к /home/bob/?
---- РЕДАКТИРОВАТЬ-----
Хорошо, я только что взглянул на /var/log/auth.log и увидел это:
May 9 14:45:48 nj sshd[5074]: pam_unix(sshd:session): session opened for user bob by (uid=0)May 9 14:45:48 nj sshd[5091]: fatal: bad ownership or modes for chroot directory component "/home/bob/"May 9 14:45:48 nj sshd[5074]: pam_unix(sshd:session): session closed for user bobЯ не совсем уверен, что там происходит, но это говорит о том, что что-то не так с пользовательским каталогом. Вот ls -h /home выход:
drwxr-xr-x 26 oli oli 4096 2012-01-19 17:19 olidrwxr-xr-x 3 bob bob 4096 2012-05-09 14:11 bob