it-swarm.com.de

linux / setfacl - Setzt alle aktuellen / zukünftigen Dateien / Verzeichnisse im übergeordneten Verzeichnis auf 775 mit dem angegebenen Eigentümer / der angegebenen Gruppe

Ich habe ein Verzeichnis namens "Mitglieder" und darunter befinden sich Ordner/Dateien. Wie kann ich rekursiv festlegen, dass alle aktuellen Ordner/Dateien und alle zukünftigen Ordner, die dort erstellt wurden, standardmäßig 775 Berechtigungen haben und dem Eigentümer/der Gruppe niemand/dem Administrator gehören? Ich habe ACL aktiviert, gemountet, kann aber den Befehl setfacl nicht dazu bringen, dies ordnungsgemäß auszuführen. Irgendeine Idee, wie man das erreicht?

43
Maverick

Ich habe tatsächlich etwas gefunden, das bisher das tut, wonach ich gefragt habe, und es hier geteilt, damit jeder, der auf dieses Problem stößt, diese Lösung ausprobieren kann:

Sudo setfacl -Rdm g:groupnamehere:rwx /base/path/members/
Sudo setfacl -Rm g:groupnamehere:rwx /base/path/members/

R. ist rekursiv, was bedeutet, dass auf alles in diesem Verzeichnis die Regel angewendet wird.
d ist Standard, dh für alle zukünftigen Elemente, die in diesem Verzeichnis erstellt wurden, gelten diese Regeln standardmäßig. m wird benötigt, um Regeln hinzuzufügen/zu ändern.

Der erste Befehl ist für neue Elemente (daher das d), der zweite Befehl ist für alte/vorhandene Elemente unter dem Ordner. Ich hoffe, das hilft jemandem, da dieses Zeug etwas kompliziert und nicht sehr intuitiv ist.

63
Maverick

Um mit Ihrer akzeptierten Antwort zu gehen ...

Sie können diese Befehle wie folgt kombinieren:

Sudo setfacl -Rm d:g:groupnamehere:rwx,g:groupnamehere:rwx /base/path/members/
18
Joshua

setfacl unter Linux hat das -d und -k Optionen zum Bearbeiten von Standardberechtigungen, nach denen Sie wahrscheinlich suchen (weitere Informationen finden Sie unter man).

2
peterph

Es ist einfach, einfache UNIX-Berechtigungen auf Anfrage eines entsprechend autorisierten Benutzers, der Berechtigungen von Verzeichnissen und Dateien, rekursiv festzulegen. Es ist nicht möglich, dies automatisch durchzusetzen.

Sie können den Benutzern mitteilen, dass sie die Umask von 0002 festlegen sollen. Dies hilft, neue Dateien um 0775 zu erstellen (abhängig von der Anwendung). Aber es ist nicht durchsetzbar.

Nach meinem Verständnis werden ACLs auf UNIX/Linux-Systemen nicht vererbt. Sie werden auf Anfrage festgelegt.

Was den Besitz von Dateien/Verzeichnissen angeht, haben Sie hier ziemlich viel Pech.

Was das Besitzen von Datei-/Verzeichnisgruppen betrifft, führt dies durch Setzen des Verzeichnissatz-gid-Bits (d. H. G + s in DIRECTORIES) dazu, dass der Gruppenbesitz vererbt wird.

In solchen Situationen habe ich ein periodisches Root-Cron-Skript ausgeführt, das nicht konforme Berechtigungen/Eigentümer auf den Standard in solchen Verzeichnissen zurücksetzt.

Ein anderer (NICHT EMPFOHLENER) Prozess besteht darin, dass bei der Arbeit an diesen Dateien dieselbe Benutzer-ID verwendet wird. Dies kann erreicht werden, indem sich der Benutzer unter seiner eigenen UID beim System anmeldet und dann Sudo oder su als ID verwendet. Dies ist immer noch nicht 100%, insbesondere in Bezug auf ACLs und Berechtigungsbits.

1
mdpc