Auf einem Linux-Rechner mit mehreren Usern wollte ich ein Verzeichnis zum gemeinsamen Arbeiten anlegen. Dieses Verzeichnis soll als Unterverzeichnis "Gemeinsame Dateien" in die jeweiligen Home-Verzeichnisse eingebunden werden. Legt ein User ein Verzeichnis oder eine Datei an, sollen die anderen User ebenfalls automatisch Lese- und Schreibrechte erhalten. Da ich das nicht so häufig mache, vergesse ich immer wieder die Befehle. Also habe ich das mal hier im Blog als "Merkzettel" hinterlegt.

Um ein konkretes Beispiel zu haben, gehen wir von folgender Situation aus:

Nun arbeiten wir einfach folgende Befehlsliste ab:

$ sudo su # Wir benötigen root-Rechte
# groupadd share # Lege die Gruppe an
# usermod -a -G share anna # Anna der Gruppe hinzufügen
# usermod -a -G share otto # Otto der Gruppe hinzufügen
# cd /home
# mkdir share # Verzeichnis anlegen
# chgrp -R share share/ # Verzeichnis der Gruppe share zuordnen
# setfacl -R -m group:share:rw-,d:group:share:rw- share/ # Access Control List (ACL)
# chmod g+s share/ # Set the SetGID sticky bit
# ln -s share/ "anna/Gemeinsame Dateien" # Symbolischen Link erstellen
# ln -s share/ "otto/Gemeinsame Dateien" # Symbolischen Link erstellen

Fertig!

Einen sehr einfach und verständlich formulierten Artikel zu Access Control Lists (ACL) gibt es hier . Damit neu erstellte Dateien und Verzeichnisse korrekt die Gruppen- und User-Rechte erben, benötigt man noch das SetGID sticky bit (Infos hier ).