组内组文件权限

Ara*_*ian 17 linux users permissions group files

我试着在这里找到这个,但如果它是重复的,我不会很抱歉。

假设我有 2 个组和一个用户:group1、group2、user1,其结构如下:group1 是 group 2 的成员,user1 是 group1 的成员

现在说我有以下具有相关权限的文件

file1 root:group1 660
file2 root:group2 660
Run Code Online (Sandbox Code Playgroud)

现在,当我登录到 user1 时,我可以编辑 file1,但不能编辑 file2。除了将 user1 添加到 group2 之外,有没有办法做到这一点?还是没有办法?

顺便说一句,我正在使用 Ubuntu。

Gil*_*il' 19

没有团体是团体的成员这样的事情。根据定义,一个组具有一组用户成员。我从未听说过可以让您指定“子组”的功能,其中子组的成员在登录时会自动获得超级组的成员资格。如果作为 的成员/etc/group列出,则指定被调用的用户(如果存在这样的用户,这是可能的:用户名和组名位于不同的名称空间中)。group1group2group1

如果您希望 user1 有权访问 file2,您有几种解决方案:

  • 使file2世界可访问(你可能不想要这个)
  • 使 user1 成为 file2 的所有者: chown user1 file2
  • 将用户 1 添加到组 2: adduser user1 group2
  • 添加一个 ACL 来file2授予对 user1 或 group` 的访问权限:

    setfacl -m user:user1:rw file2
    setfacl -m group:group1:rw file2
    
    Run Code Online (Sandbox Code Playgroud)

    有关启用 ACL,请参阅使组可以访问目录中的所有新文件。

  • 是的,unix/linux 不支持嵌套组。如果这样做会很有用,但事实并非如此。Windows 可以,Active Directory 可以。LDAP 也是如此,所以如果帐户和组数据在 LDAP 中而不是在 /etc/passwd 和 /etc/group 文件中,那应该是可能的......两组) (10认同)