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.
Ich habe es gefunden: Anwenden von Standardberechtigungen
Aus dem Artikel:
chmod g+s <directory> //set gid
setfacl -d -m g::rwx /<directory> //set group to rwx default
setfacl -d -m o::rx /<directory> //set other
Als nächstes können wir das überprüfen:
getfacl /<directory>
Ausgabe:
# file: ../<directory>/
# owner: <user>
# group: media
# flags: -s-
user::rwx
group::rwx
other::r-x
default:user::rwx
default:group::rwx
default:other::r-x
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 /<directory>
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 /<directory>
z.B..
setfacl -R -m g::rwx /home/limited.users/<directory> // gives group read,write,exec permissions for currently existing files and folders, recursively
setfacl -R -m o::x /home/limited.users/<directory> //revokes read and write permission for everyone else in existing folder and subfolders
setfacl -R -d -m g::rwx /home/limited.users/<directory> // gives group rwx permissions by default, recursively
setfacl -R -d -m o::--- /home/limited.users/<directory> //revokes read, write and execute permissions for everyone else.
(CREDIT an markdwite in den Kommentaren für die Synthax der Zeile revoke all privileges)
Mit dem folgenden Befehl können Sie die Standardberechtigung für eine Datei festlegen:
chacl -R filename