我正在使用 Openindiana (Solaris 10) 容器,我想让用户通过 sftp 上传 Web 内容。我已经成功设置了 OpenSSH 的内部 sftp 并将用户锁定在 Web 根目录下。 Web 根目录下的所有文件应归 sftp 用户所有,但同时 Web 服务器应对所有这些文件具有读取权限。使用 ACL 可以很好地工作
chmod -R A3+user:www:list_directory/read_data/execute:file_inherit/dir_inherit:allow htdocs/
但每当用户尝试 chmod 777 目录以使 Web 服务器可写时,该目录就会丢失其 ACL。拒绝 write_acl 会拒绝用户更改任意访问控制属性。
理想情况下,用户应通过 sftp 上传内容,Web 服务器应具有对 777 目录的读取权限和完全访问权限。关于如何实现这一目标有什么想法吗?
答案1
在 Solaris 上,chmod 777
正在设置绝对模式。绝对就是绝对的意思。如果要保留 ACL,则需要使用符号模式。
请参阅手册页: http://docs.oracle.com/cd/E23824_01/html/821-1461/chmod-1.html#scrolltoc