组内组文件权限


13

我尝试在这里找到它,但是如果它是重复的,我不会后悔。

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

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

file1 root:group1 660
file2 root:group2 660

现在,当我登录到user1时,我可以编辑file1,但不能编辑file2。缺少将user1添加到group2的方法,有什么办法吗?还是没有办法?

我正在使用Ubuntu btw。


如果我没记错的话,Linux中传统的基于组的权限不允许您将一个组放在另一个组中。那么,您是否安装了启用此功能的工具?
Gunther Struyf 2012年

用户可以是多个组的成员。如果将User1添加到group2,则他可以更改File2。您选择的命令将是useradd。
user1146332 2012年

@GuntherStruyf我什么都没改变...据我所知,Ubuntu默认允许它...
Aram Papazian 2012年

@ user1146332重点是不要将user1添加到group2。如果那是唯一的方法,那么我可以做到,但是从理论上讲,我更喜欢一个组嵌套结构……
Aram Papazian 2012年

Answers:


15

没有一个团体成为一个团体的成员。根据定义,组具有一组用户成员。我从未听说过可以让您指定“子组”的功能,该子组的成员在登录时会自动被授予超级组成员身份。如果/etc/grouplist group1作为的成员group2,则指定被称为的用户group1(如果存在这样的用户,则有可能:用户名和组名位于不同的名称空间中)。

如果要让user1可以访问file2,则有几种解决方案:

  • 使file2世界无障碍(您可能不希望这样)
  • 使user1成为file2的所有者: chown user1 file2
  • 将user1添加到group2: adduser user1 group2
  • 将ACL添加到file2其中以授予对user1或group`的访问权限:

    setfacl -m user:user1:rw file2
    setfacl -m group:group1:rw file2
    

    有关启用ACL的信息,参见使目录中的所有新文件可供组访问。


7
是的,unix / linux不支持嵌套组。如果这样做会很有用,但事实并非如此。Windows可以,而Active Directory可以。LDAP也是如此,因此,如果帐户和组数据位于LDAP中,而不是在/ etc / passwd和/ etc / group文件中,则应该是可能的...但是当存在诸如ACL之类的简单解决方案时(或者仅添加用户) (两组))
cas 2012年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.