В настоящее время у меня есть настройка SFTP, так что пользователь может SFTP в своем доме и загружать файлы в каталоги, уже созданные root. Пример и конфигурация SSH ниже:
/home
/home/azhao/
/home/azhao/public_html
/etc/ssh/sshd_config
:
Match Group www-data
ChrootDirectory %h
ForceCommand internal-sftp
AllowTcpForwarding no
PermitTunnel no
X11Forwarding no
Пользователь azhao
может загружать файлы и создавать каталоги внутри /public_html
, но не может создавать и загружать файлы в /home/azhao
.
С участием ChrootDirectory
вариант, я так понимаю /home/azhao
принадлежит root. Есть ли способ обойти это ограничение или способ не заставить домашние каталоги принадлежать пользователю root и при этом позволить SFTP работать?
Единственный вариант - использовать / home в качестве ChrooDirectory и убедиться, что другие пользовательские каталоги используют 0700 и / или используют ACL для дополнительной безопасности.