如何使目录中的所有当前和未来文件可供特定组/用户读取?

如何使目录中的所有当前和未来文件可供特定组/用户读取?

我有一个“投递箱”目录供学生提交作业。其权限设置为“drwx-wx---”,其中所有学生都属于该组。这允许他们写入但不能从文件夹中读取。我想设置 ACL,以便用户 cs63(教学人员使用的帐户)可以读取所有文件。我尝试这样做:

chmod +a "user:cs63 allow read,file_inherit,directory_inherit" Top

位于显示所有投递箱目录的顶级目录中。当我使用“ls -lde”查看属性时,我看到:

user:cs63 allow list,file_inherit,directory_inherit

我假设“read”已更改为“list”,因为“read”不适用于目录,但如何指定我希望 cs63 能够读取(而不仅仅是列出)所有文件?

另外,一旦我设置了正确的 ACL,它会应用于已经提交的文件还是仅应用于未来的文件?

我通过 ssh 连接到服务器,因此我需要在命令行上完成所有这些操作。

编辑:

我尝试了@mindc的建议:

chmod -R +a "user:cs63 allow read,file_inherit,directory_inherit" Top

它适用于大多数文件,但不适用于权限为:

drwx---rwx+ student cs63sp12

其中用户 cs63 是 cs63sp12 的成员。当我在子目录上执行“ls -le”时,我得到:

0: user:cs63 allow list,file_inherit,directory_inherit

答案1

尝试-R切换,如下所示:

chmod -R +a "user:cs63 allow read,file_inherit,directory_inherit" Top

相关内容