普通用户修改“其他”用户拥有的文件

普通用户修改“其他”用户拥有的文件

我想了解一下如何使用CentOS中的权限系统来实现以下功能:

该系统有以下用户:

user1
user2
user3

以及以下目录结构..

/dir1
  /dir2
  /dir3

用户 2 执行 dir 2 中的文件,因此需要能够写入这些文件 用户 3 执行 dir 3 中的文件,因此需要能够写入这些文件

用户2应该不是能够修改 dir3 用户 3 应该不是能够修改dir2

当我需要用户 1 能够修改 dir2 和 dir3 时,问题就出现了。

答案1

试试这个,让我知道
更改文件的所有权
chown root:user1 dir1
chown root:user2 dir2
chown root:user3 dir3

更改文件的权限
chmod 764 user1
chmod 764 user2
chmod 764 user3

希望你有 root 权限,
如果没有则使用 sudo

您需要将用户添加到一个组中,例如 group1
groupadd group1
useradd -G group1 user1
useradd -G group1 user2
useradd -G group1 user3

现在您可以为 user1 执行 setfacl ACL 以使用 dir1 dir2 & dir3
setfacl -R g:group1:rwx

答案2

在没有花哨的 ACL 的情况下执行此操作的最简单方法是拥有两个单独的组:group2group3

  • 用户user1user2应该是 的成员group2user1user3应该是 的成员group3
  • 那么dir2应该属于group2并且dir3应该属于dir3
  • 两者dir2和 都dir3应该由其组所有者可读可写,并且具有设置gid位设置以便使用包含目录的组所有权而不是创建用户的主要组来创建新文件。
  • 最后,dir1每个人都应该可以遍历(但不是可读)。

在命令中:

groupadd group2
groupadd group3
usermod -a -G group2 user1
usermod -a -G group2 user2
usermod -a -G group3 user1
usermod -a -G group3 user3

chmod 0711 dir1

chgrp group2 dir1/dir2
chmod 2770 dir1/dir2

chgrp group3 dir1/dir3
chmod 2770 dir1/dir3

相关内容