Gruppe innerhalb der Gruppendateiberechtigungen

13

Ich habe versucht, dies hier zu finden, konnte es aber nicht so leid tun, wenn es ein Duplikat ist.

Angenommen, ich habe 2 Gruppen und einen Benutzer: Gruppe1, Gruppe2, Benutzer1 mit der folgenden Struktur: Gruppe1 ist Mitglied von Gruppe 2, Benutzer1 ist Mitglied von Gruppe1

Angenommen, ich habe die folgenden Dateien mit den entsprechenden Berechtigungen

file1 root:group1 660
file2 root:group2 660

Wenn ich mich jetzt bei Benutzer1 anmelde, kann ich Datei1 bearbeiten, Datei2 jedoch nicht. Gibt es eine Möglichkeit, dies zu tun, ohne Benutzer1 zu Gruppe2 hinzuzufügen? oder gibt es keinen weg

Ich benutze Ubuntu übrigens.

Aram Papazian
quelle
Wenn ich mich nicht irre, können Sie mit den klassischen gruppenbasierten Berechtigungen in Linux keine Gruppe in eine andere Gruppe einfügen. Haben Sie also etwas installiert, das diese Funktion ermöglicht?
Gunther Struyf
Ein Benutzer kann Mitglied mehrerer Gruppen sein. Wenn Sie Benutzer1 zu Gruppe2 hinzufügen, kann er Datei2 ändern. Der Befehl Ihrer Wahl wäre useradd.
user1146332
@GuntherStruyf Ich habe nichts geändert ... Soweit ich sagen konnte, erlaubt Ubuntu es standardmäßig ...
Aram Papazian
@ user1146332 Der springende Punkt ist, Benutzer1 nicht zu Gruppe2 hinzuzufügen. Wenn das der einzige Weg ist, dann kann ich das tun, aber theoretisch würde ich eine Gruppenneststruktur vorziehen ...
Aram Papazian

Antworten:

15

Es gibt keine Gruppe, die Mitglied einer Gruppe ist. Eine Gruppe besteht definitionsgemäß aus einer Reihe von Benutzern. Ich habe noch nie von einer Funktion gehört, mit der Sie "Untergruppen" angeben können, bei denen Mitgliedern von Untergruppen automatisch die Mitgliedschaft in der Supergruppe beim Anmelden gewährt wird. Wenn /etc/groupListen group1als Mitglied von group2, bezeichnet es den angerufenen Benutzer group1(falls ein solcher Benutzer existiert, was möglich ist: Benutzernamen und Gruppennamen leben in verschiedenen Namensräumen).

Wenn Sie möchten, dass Benutzer1 auf Datei2 zugreifen kann, haben Sie mehrere Möglichkeiten:

  • Make file2Welt zugänglich (Sie wahrscheinlich nicht wollen , dies)
  • Machen Sie user1 zum Eigentümer von file2: chown user1 file2
  • Benutzer1 zu Gruppe2 hinzufügen: adduser user1 group2
  • Fügen Sie eine ACL hinzu, file2die den Zugriff auf Benutzer1 oder Gruppe gewährt:

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

    Weitere Informationen zum Aktivieren von ACLs finden Sie unter Zugreifen auf alle neuen Dateien in einem Verzeichnis auf eine Gruppe .

Gilles 'SO - hör auf böse zu sein'
quelle
7
Ja, Unix / Linux unterstützt keine verschachtelten Gruppen. Es wäre nützlich, wenn es so wäre, aber es ist einfach nicht so. Windows und Active Directory. LDAP funktioniert auch, daher sollte es möglich sein, dass sich die Konto- und Gruppendaten in LDAP und nicht in den Dateien / etc / passwd und / etc / group befinden an beide Gruppen)
cas