我有多个用户,他们属于不同的群组。因此...
sudo su
>$ ls -l /home/
drwxr-x--- 5 root group1 4096 Mar 18 12:44 group1
drwxr-x--- 6 root group2 4096 Feb 9 13:58 group2
>$ ls -l /home/group1
drwx------ 6 user1 group1 4096 Mar 23 15:57 user1
drwx------ 6 user2 group1 4096 Mar 23 12:19 user2
现在 user3 是 group2 的成员。我希望 user3 能够读取和执行 user1 的主目录,但我不想允许用户 2(与 user1 在同一组中)对 user1 的主目录有任何权限。
如果我尝试使用 acl。
>$ getfacl /home/group1/user1
# file: user1/
# owner: user1
# group: group1
user::rwx
group::---
other::---
>$ setfacl -m u:user3:rx /home/group1/user1/
>$ getfacl /home/group1/user1
# file: user1/
# owner: user1
# group: group1
user::rwx
user:user3:r-x
group::---
mask::r-x
other::---
>$ ls -l /home/group1
drwxr-x---+ 11 user1 group1 4096 Mar 22 14:57 user1
drwx------ 6 user2 group1 4096 Mar 23 12:19 user2
由于我更改了 acl,因此 user1 的主目录的组权限还已更改。现在 user2 可以在 user1 的主目录中读取和执行。setfacl 的手册页有点稀疏。
问题:有没有办法授予用户 3(在组 2 中)对用户 1 主目录的权限,而不自动授予用户 2 权限?
我想为此使用 acl。
答案1
您是否确实检查过用户 2 是否可以在用户 1 的主目录中读取和执行?
嗨,不应该。一切都由您使用 setfacl 设置的 acl 完成。