Wie kann man die Standard-Dateiberechtigungen für alle Ordner/Dateien in einem Verzeichnis festlegen?

Ich möchte einen Ordner so einstellen, dass alles, was darin erstellt wird (Verzeichnisse, Dateien), die Standardberechtigungen und die Gruppe erbt.

Nennen wir die Gruppe "media". Und auch die Ordner/Dateien, die in diesem Verzeichnis erstellt werden, sollen automatisch g+rw haben.

Lösung

Ich habe es gefunden: Anwenden von Standardberechtigungen

Aus dem Artikel:

chmod g+s   //set gid 
setfacl -d -m g::rwx /  //set group to rwx default 
setfacl -d -m o::rx /   //set other

Als nächstes können wir das überprüfen:

getfacl /

Ausgabe:

# file: ..//
# owner: 
# group: media
# flags: -s-
user::rwx
group::rwx
other::r-x
default:user::rwx
default:group::rwx
default:other::r-x
Kommentare (14)

Dies ist eine Ergänzung zu Chris' Antwort, es's basiert auf meiner Erfahrung auf meinem Arch Linux rig.

Die Verwendung des Standardschalters (-d) und des Modifikationsschalters (-m) ändert nur die Standardberechtigungen, lässt aber die bestehenden intakt:

setfacl -d -m g::rwx /

Wenn Sie die gesamte Berechtigungsstruktur eines Ordners einschließlich der bestehenden ändern wollen, müssen Sie eine zusätzliche Zeile einfügen und diese rekursiv machen -R:

setfacl -R -m g::rwx /

z.B..

setfacl -R -m g::rwx /home/limited.users/ // gives group read,write,exec permissions for currently existing files and folders, recursively
setfacl -R -m o::x /home/limited.users/ //revokes read and write permission for everyone else in existing folder and subfolders 
setfacl -R -d -m g::rwx /home/limited.users/ // gives group rwx permissions by default, recursively
setfacl -R -d -m o::--- /home/limited.users/ //revokes read, write and execute permissions for everyone else. 

(CREDIT an markdwite in den Kommentaren für die Synthax der Zeile revoke all privileges)

Kommentare (2)

Mit dem folgenden Befehl können Sie die Standardberechtigung für eine Datei festlegen:

chacl -R filename
Kommentare (2)