Назад | Перейти на главную страницу

SSH - ChrootDirectory не работает

Я пытаюсь выполнить chroot "тестового" пользователя (группа sftp) в / home / test. Я добавил следующие строки в конец sshd_config:

Subsystem sftp internal-sftp

Match User test
    ChrootDirectory /home/test
    X11Forwarding no
    AllowTcpForwarding no
    ForceCommand internal-sftp

home и testкаталоги имеют 755 разрешений и принадлежат пользователю root. Я также пробовал с ChrootDirectory /home.

root@Debian:/# namei -l /home/test
f: /home/test
drwxrwxrwx root root /
drwxr-xr-x root root home
drwxr-xr-x root root test

Я не могу подключиться к серверу через SFTP или SSH (независимо от того, включаю ли я Subsystem sftp internal-sftp и ForceCommand internal-sftp или не). Как только я вхожу в систему, я получаю следующее сообщение:

Write failed: Broken pipe

... и в auth.log добавляется следующее:

May 12 13:48:29 Reach sshd[25503]: Accepted password for test from 192.168.0.10 port 51058 ssh2
May 12 13:48:29 Reach sshd[25503]: pam_unix(sshd:session): session opened for user test by (uid=0)
May 12 13:48:29 Reach sshd[25505]: fatal: bad ownership or modes for chroot directory component "/"
May 12 13:48:29 Reach sshd[25503]: pam_unix(sshd:session): session closed for user test

По-видимому, проблема в том, что он пытается выполнить chroot на "/", когда должно быть "/ home / test". Что мне не хватает? Я оставил остальную часть sshd_config значениями по умолчанию, и другой директивы ChrootDirectory нет ...

Спасибо.

Ваши разрешения на / слишком открыты.
Интересно, как вы к этому пришли.
Которые должны быть 0755.
Так что вам нужно это изменить.

В остальном вроде нормально.