SFTP фатальное плохое владение или режимы для каталога chroot ubuntu 12.04

12

Я просто настроил свой 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
Джонатан
источник

Ответы:

21

sshdимеет определенный уровень паранойи, когда дело доходит до директорий chroot. Я не думаю, что это можно отключить (даже с StrictModes no). Каталог chroot и все родительские каталоги должны быть правильно установлены :

  1. Каталог chroot и все его родители не должны иметь возможности записи группы или мира (т.е. chmod 755)
  2. Каталог chroot и все его родители должны принадлежать пользователю root.

В вашем случае ошибка входа в систему может быть исправлена ​​с chmod 755 /home/DUMP вашим очевидным намерением иметь доступный для записи каталог, в который sftpuser может войти, и каждый может поместить файлы, можно решить, сделав этот каталог подкаталогом из/home/DUMP/

DerfK
источник
1
Работал как шарм! Спасибо. Теперь мне просто нужно исправить все подкаталоги и мою систему NFS :)
Джонатан
0

А) Какой смысл создавать 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.


источник