-1

我想知道是否有人可以为我解释一下 Linux 权限。我有两组

Group A - Normal Users
Group B - File Changing group

我希望 B 组与 A 组几乎完全相同,但 B 组能够更改“每日消息”我如何设置它以便他们对 MOTD 具有写访问权限而 A 组只有读访问权限?

4

2 回答 2

2

使用普通 UNIX ugo 权限,您只能将单个 UNIX 组分配给任何给定文件。在您的情况下,由于“普通用户”可能意味着“所有用户”,您可以chmod将 MOTD 文件发送到664(组读写,全部只读),并将chown其发送到root:file_changers(root 拥有的文件,并分配给 file_changers 组)。


使用 Linux ACL,您可以将多个组分配给一个文件。并非所有文件系统都支持 ACL。您可以使用setfacl更改权限:

setfacl -m g:regular:r motd
setfacl -m g:file_changers:rw motd

请注意,在我看来,ACL 通常可能是矫枉过正的。如果您没有为他们做好准备,他们可能会使权限管理变得麻烦。如果需要,请仔细考虑;否则,请坚持使用更简单的 UNIX 权限系统。

于 2013-10-18T14:51:35.300 回答
0

没有 ACL:s 的解决方案:

您可以将 motd 文件移动到组 A 可以读取的目录中,并使该文件可以由组 B 写入。然后将符号链接从原始位置放置到新位置。

示例(假设 motd 在 /etc/motd 中):

# mkdir /etc/motd-dir
# mv /etc/motd /etc/motd-dir/
# chown groupA /etc/motd-dir
# chown groupB /etc/motd-dir/motd
# chmod 750 /etc/motd-dir
# chmod 664 /etc/motd-dir/motd
# ln -s /etc/motd-dir/motd /etc/motd

此解决方案要求组 B 的所有成员也必须属于组 A,以便他们可以访问目录。

于 2013-10-18T15:11:50.443 回答