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

Вход через SFTP меняет владельца родительской папки

У меня серьезная проблема с моим SFTP-сервером, работающим под macOS 10.14.6. (Сервер версии 5.8)

Я пытаюсь ограничить пользователей SFTP, чтобы они видели только свою домашнюю папку. У меня все пользователи сети находятся на отдельном томе (/ Volume / Users /), и на этом диске у меня есть несколько подпапок для разных групп, таких как group1, group2 и т. Д. Поэтому пользователь joe, принадлежащий group1, будет помещен в: / Volumes / Пользователи / группа1 / Джо

Я проверил, что root является владельцем каждой папки на пути, и что root является единственным пользователем с разрешениями на запись. Т.е. root владеет Volumes, Users, group1 и joe. (У пользователей есть доступная для записи папка в их домашней папке)

Чтобы попытаться ограничить, я создал группу веб-пользователей, а затем добавил следующее в конец / etc / ssh / sshd_config:

Subsystem sftp /usr/libexec/sftp-server 
Match Group web-users
    ChrootDirectory %h
    ForceCommand internal-sftp 
    X11Forwarding no
    AllowTcpForwarding no

При входе в систему как joe у меня сломалась труба, и если я посмотрю на свои папки, joe теперь является владельцем папки group1:

ls -l
total 0
drwxr-xr-x  116 joe   wheel  3712 Oct  4 08:40 group1
drwxr-xr-x    4 root  admin   128 Oct  4 09:04 group2

И я предполагаю, что когда Джо стал владельцем group1, ChrootCommand не работает! Только группы-папки меняют права доступа. Домашняя папка по-прежнему принадлежит пользователю root.

У меня была такая же конфигурация на сервере 10.13 (High Sierra), и она работала отлично, но больше не работает.

Если я удалю команду «ChrootDirectory% h», каждый сможет войти в систему, но затем, конечно, сможет увидеть весь диск. Однако смена собственника все же происходит.

Для меня это кажется большой угрозой безопасности, и я не понимаю, почему это вообще должно происходить.

Я бьюсь головой о стену, поэтому приветствую любые предложения!