Я просто настроил свой SFTP-сервер, и он отлично работает, когда я использую его из своей первой учетной записи пользователя. Я хотел добавить пользователя, которого мы назовем «Magnarp». Сначала я сделал это в sshd_config:
Subsystem sftp internal-sftp
Match group sftponly
ChrootDirectory /home/%u
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp
Это работало достаточно хорошо, пользователь Magnarp пошел в свой домашний каталог. Затем я попытался добавить к нему символическую ссылку.
home$ sudo ln -s /home/DUMP/High\ Defenition/ /home/magnarp/"High Defenition"
Симлинк работал нормально через SSH, но не через SFTP.
Итак, что я хочу сделать сейчас, так это включить группу Chroot в / home / DUMP, и я сделал это так:
Match group sftponly
ChrootDirectory /home/DUMP
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp
Папка DUMP имеет следующие разрешения.
drwxrwxrwx 5 root root 4096 aug 18 02:25 DUMP
И это код ошибки:
Aug 18 16:40:29 nixon-01 sshd[7346]: Connection from 192.168.1.198 port 51354
Aug 18 16:40:30 nixon-01 sshd[7346]: Accepted password for magnarp from 192.168.1.198 port 51354 ssh2
Aug 18 16:40:30 nixon-01 sshd[7346]: pam_unix(sshd:session): session opened for user magnarp by (uid=0)
Aug 18 16:40:30 nixon-01 sshd[7346]: User child is on pid 7467
Aug 18 16:40:30 nixon-01 sshd[7467]: fatal: bad ownership or modes for chroot directory "/home/DUMP"
Aug 18 16:40:30 nixon-01 sshd[7346]: pam_unix(sshd:session): session closed for user magnarp
А) Какой смысл создавать chroot, если создание симлинков поможет уклониться от chroot? (Любой пользователь может загрузить симлинк, а затем получить доступ ко всей файловой системе)
Б) Еще один chmod 777, и вы будете огорчены Тео ( http://rlv.zcache.com/i_got_flamed_by_theo_de_raadt_t_shirt_tshirt-p235453348828729121en7rf_210.jpg ). См. Http://lists.mindrot.org/pipermail/openssh-unix-dev/2010-January/028151.html, чтобы понять, почему openssh так требователен к разрешениям каталога chroot.
источник