Wie lege ich Berechtigungen für ein Verzeichnis fest, sodass darunter erstellte Dateien und Verzeichnisse die Gruppenschreibberechtigungen behalten?

Wie lege ich Berechtigungen für ein Verzeichnis fest, sodass darunter erstellte Dateien und Verzeichnisse die Gruppenschreibberechtigungen behalten?

Mögliches Duplikat:
Alle neuen Dateien in einem Verzeichnis für eine Gruppe zugänglich machen

Ich habe ein Verzeichnis, in dem kollaborative Dateien/Verzeichnisse gespeichert werden. Angenommen, das Verzeichnis abcgehört rootund die Gruppe ist project-abc. Ich möchte, dass dieses Verzeichnis Folgendes enthält:

  1. Nur Mitglieder der Gruppe project-abcdürfen den Inhalt dieses Verzeichnisses ändern.
  2. Dateien, die hinzugefügt werden abcmüssenlesen und SchreibenBerechtigungen für Mitglieder oder Gruppen festgelegtabc
  3. Hinzugefügte Verzeichnisse müssenlesen, schreiben und ausführenBerechtigungen für die Gruppeabc

Bei statischen Verzeichnissen ist das unkompliziert, aber der Inhalt dieses Verzeichnisses ändert sich voraussichtlich recht häufig. Was ist mein bester Ansatz, um das gewünschte Ergebnis zu erzielen?

Antwort1

Am besten fügen Sie chmod g+sIhren Verzeichnissen das setgid-Bit ( ) hinzu. Siehe VerzeichnisSetuid und Setgidim Coreutils-Handbuch. Neue Verzeichnisse behalten dann den Gruppenbesitz.

Was die Berechtigungen betrifft, können Sie am besten sicherstellen, umask 002dass sie jedes Mal verwendet werden, wenn jemand in diesem Verzeichnis arbeitet.

(Ja, grundlegende Berechtigungen im Unix-Stil sind manchmal zu einfach … Ich weiß nicht, ob ACLs die Zusammenarbeit in einem Verzeichnis erleichtern können. Wenn sie in Ihrem System aktiviert sind, sollten Sie einen Blick darauf werfen.)

verwandte Informationen