Фатальне неправильне володіння 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 sftponly в / 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/


1
Працював як шарм! Дякую. Тепер мені просто потрібно виправити всі підкаталоги та мою систему NFS :)
Джонатан

0

А) Який би зміст зробити chroot, якщо створення посилань допоможе уникнути chroot? (Будь-який користувач може завантажити simlink та отримати доступ до всієї файлової системи)

B) Ще один 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 каталогу.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.