要求是允许特定用户(例如 someuser)通过 SSH/SFTP 完全访问目录(例如 /var/www/html/someproject),但不允许浏览其他任何地方。
是否可以只使用ACL?
我尝试像这样设置 ACL:
setfacl -m u:someuser:--- /* # no access to directories under root
setfacl -m u:someuser:x /var
setfacl -m u:someuser:x /var/www
setfacl -m u:someuser:x /var/www/html
setfacl -R -m u:someuser:rwx /var/www/html/someproject
但随后 SFTP 将无法连接并出现错误:
Cannot initialize SFTP protocol. Is the host running an SFTP server?
允许访问根目录下的某些目录(例如/etc)可以解决此问题,但随后将允许在这些目录中进行浏览。