Arbeitsordner für Gruppen und/oder alle

  • Ein in Foren und Mailinglisten häufig genanntes Problem: wie richtige ich einen Arbeitsordner ein, der von allen auf dem System gemeldenten Usern frei genutzt werden kann: User A kann schreiben-lesen-kopieren-löschen - User B kann mit den gleichen dateien ebenfalls alles .. Das ist zwingend notwendig wenn gemeinsame Projekte über gemeinsame Dateien bearbeitet werden sollen.
    Zudem ist es günstig wenn ich den Ordner für eine Samba-Freigabe so konfiguriere. Dann kann ich auf dem Serversystem Dateien einspielen (ohne smb zu bemühen) und die Zugriffsbeschränkungen völlig frei über Samba einrichten.
    -----------------------------
    Zunächst soll hier ine Möglichkeit beschrieben werden wie dieses für eine Gruppe realisiert wird
    -----------------------------


    Es geht NICHT mit cmod denn das wirkt sich nicht auf neue Dateien aus - immer nur auf bestehende. Und es ist nicht zu gewährleisteten dass jeder der eine Datei erstellt/bearbeitet anschließend die Rechte korrigiert.


    Es geht auch nicht mit dem suid-Bit- Es beeinflusst nur die Rechte von Verzeichnissen und arbeitet außerdem nicht rekursiv. Und es geht ja um Verzeichnisse UND Dateien


    Es geht NICHT mit umask, denn umask gilt für ein ganzes Dateisystem und ich möchte nur einen Ordner für diesen Zweck konfigurieren.


    Es geht nur mit ACLs. Der entscheidende Link, der nach mehrmaligem Lesen die Erhellung bracht ist
    http://wiki.ubuntuusers.de/ACL
    und dort das Stichwort 'Aufbau einer Default-ACL'


    Was kaum geht (darauf war ich reingefallen) - die Rechtvergabe mit Eiciel oder Dolphin-erweiterte Rechte. Es ist schon mühsam genug die ACLs zu kapieren. Wenn man dann noch die Umsetzung dieser ACLs in der GUI kapieren will hat man 2 Probleme statt einem. Und die ganzen Howtows gehen von der Kommandozeile aus ..
    ---------------


    1. Fstab anpassen: ACL aktivieren für das Dateisystem und neu mounten

    Zitat

    /dev/disk/by-id/ata-MAXTOR_STM3250310AS_6RY5AJZ9-part3 /home ext4 defaults,acl 1 2

    2. Ordner anlegen und Rechte incl SGID-Bit setzten (Eigentümer root oder sonstwer, Gruppe users, siehe Bild 1 + 2)
    Interessehalber mal die Rechte mit ls und getfacl zeigen (keine ACLs gesetzt)

    3. Mit setfacl die Default-ACL setzen und prüfen

    man achte auf das -d als Parameter: Default setzen


    4.Zur Überprüfung mal als Egon und Elke ein paar Dateien und Ordner erzeugt und Rechte geprüft:

    Wichtig ist, zu erkennen dass ls -l keine vollständigen angaben macht. Um alle Rechte einer Datei zu erfahren ist zwingend notwendig, mit getfacl zu arbeiten.
    -------------------------------
    Wenn jetzt jeder Lese- und Schreibrechte haben sollte müsste man nur machen:

    Zitat

    setfacl -dm o:rw zentraldaten

    Das wirkt sich aber nicht auf schon vorhandene Dateien aus .. wenn man diesen Befehl nachträglich absetzt muss man an die wieder mit chmod ran
    ---------------------------
    Nachtrag: mit ACLs kann man auch masken setzen und einfach nur Rechte .. DAS ist hier nicht das Thema.. .. das ist was anderes .. speziell die Masken sind ne gefährliche Sache ..
    ---------------------------
    Viel Spaß und Erfolg!


    wurzel