如何让群组中的用户拥有与所有者相同的权限?

如何让群组中的用户拥有与所有者相同的权限?

我不是 Linux 专家,我想知道如何解决这种情况:

有一个demo名为 id 1000 的用户,该用户与组关联www-data,因此该demo用户实际上可以删除/编辑/创建项目的所有文件,例如:

在此输入图像描述

foo现在假设我使用具有 id 的用户登录1001。如果我尝试编辑文件,例如:.env我将被拒绝许可。

有没有办法将组所有者(1000)的相同权限授予用户foo

所以我可以简单地将用户添加foo到用户组中demo,然后foo可以实际删除/编辑/创建,就像用户是演示一样。

我怎样才能实现这个目标?

提前致谢。

答案1

文件的所有者是……唯一的。

您可以向其他任何人、某个组的任何成员授予读取、写入和执行权限,但是......

您不会剥夺所有者删除文件的唯一(与 root 共享)权限。

如果您希望其他用户也能够删除他们不拥有的某些文件,那么...唯一的可能性是让他们能够使用

因此,如果您需要其他用户能够删除 www-data 拥有的文件,您必须使用以下命令授权他们su www-data

答案2

尝试:usermod -a -G 1000 foo

但是用户 1000 没有关联到 www-data 组,www-data 用户与组 1000 关联,你一定要看看这一点。

答案3

如果您希望两个用户具有读写访问权限,其余用户具有只读访问权限,只需为这两个用户创建一个组,并授予该组rwx权限。还让该组有权rwx访问该目录,以便两个用户都可以创建和删除文件,并在目录上设置 setgid 位,以便从该目录中获取新文件组(而不是创建用户)。

只要两个/所有涉及的用户都有正确的设置umask,即002在这种情况下,这就可以工作。如果不这样做,将不可避免地创建一个该组没有写入权限的文件,从而将其他用户锁定在外。您无法委派文件所有者更改文件权限的权限。

(好吧,如果其他用户知道这个技巧,他们可以使用新名称创建文件,并在原始文件的基础上重命名,现在成为新文件的所有者。)


如果您需要两个具有读写访问权限的用户,一个具有只读访问权限的组,而其他用户没有访问权限,那么您可能应该考虑 ACL。默认 ACL 也有助于解决这个umask问题。

答案4

使用 ACL,您可以实现您的目标。
这是一个好的开始

我不会再继续下去,因为你的问题的主题有点混乱。也许您可以编辑以澄清?

相关内容