授予用户对其他组拥有的目录的写权限

授予用户对其他组拥有的目录的写权限

我有一个目录 foo,drwxr-x--- someuser somegroup并在该目录 foo 中创建了一些文件,这些文件对所有者、组和其他人具有读取权限。如何otheruser在不将此用户添加到某个组的情况下授予用户对该目录的写入权限?

setfacl这个可以用吗?

谢谢。

答案1

对于实际文件和新文件,您需要使用以下命令设置 acl:

setfacl -Rm d:u:otheruser:rwX,u:otheruser:rwX /your/dir

如果您只希望目录为 x 而不希望文件为 x,请使用 X(大写)。使用 x(小写)来包含文件。

d:u:otheruser命令的第一部分用于默认文件(新文件),第二部分用于现有文件。您可以根据需要为每个部分设置不同的权限。

-R用于递归

感谢 user390689(原始提问者)的输入,还需要添加掩码(和默认掩码),因为setfacl应该(根据 man setfacl 和我自己的经验)根据现有组 acl 和添加的权限的联合创建一个掩码。因为在这种情况下,您只提供用户而不提供组,所以组没有 acl,并且联合为空,因此您需要手动执行此操作:

setfacl -Rm d:m:otheruser:rwX,m:otheruser:rwX /your/dir

答案2

谢谢。我还发现我需要先用 setfacl -mm:otheruser:rwX 设置掩码。

相关内容