使用 acl 限制对 Web 目录的访问

使用 acl 限制对 Web 目录的访问

要求是允许特定用户(例如 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)可以解决此问题,但随后将允许在这些目录中进行浏览。

相关内容