Ich habe es gefunden:Anwenden von Standardberechtigungen
Aus dem Artikel:
-
Stellen Sie
erstellt werdensetgid
ein Bit, sodass Dateien/Ordner untermit derselben Gruppe wie chmod g+s <directory>
-
Legen Sie die Standard-ACLs für die Gruppe und andere fest
setfacl -d -m g::rwx /<directory> setfacl -d -m o::rx /<directory>
Als nächstes können wir Folgendes ü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, sie basiert auf meinen Erfahrungen mit meinem Arch-Linux-Rig.
Mit dem Standardschalter (-d
) und den Änderungsschalter (-m
) ändert nur die Standardberechtigungen, lässt aber die bestehenden intakt:
setfacl -d -m g::rwx /<directory>
Wenn Sie die gesamte Berechtigungsstruktur des Ordners ändern möchten, einschließlich der vorhandenen (Sie müssen eine zusätzliche Zeile erstellen und sie mit -R
rekursiv machen ):
setfacl -R -m g::rwx /<directory>
zB.
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.
(KREDIT in Kommentaren für die Syntax der Zeile „Alle Berechtigungen widerrufen“ zu markieren)
Fügen Sie sich selbst/eingeloggten Benutzer zur www-data-Gruppe hinzu, damit wir mit Dateien arbeiten können, die vom www-data-Server erstellt wurden
sudo usermod -a -G www-data $USER
Neustart/Neuanmeldung erforderlich, damit die neu hinzugefügte Gruppe wirksam wird
cd /var/www
Fügen Sie www-data als Gruppenmitglied des HTML-Ordners und Ihren Benutzer als Besitzer hinzu, damit wir sowohl Eigentümer als auch Gruppenmitglied sind
sudo chown -R $USER:www-data html
Setzen Sie Ihren Benutzernamen anstelle von USER
einLegen Sie Lese-, Schreib- und Ausführungsberechtigungen nach Bedarf fest, (ugo) u=user, g=group, o=others
sudo chmod 750 html
Legen Sie die GID von HTML fest, jetzt erben neu erstellte Dateien in HTML die Eigentumsrechte:
sudo chmod g+s html
Dies erstellt die Standardregeln für neu erstellte Dateien/Verzeichnisse innerhalb des HTML-Verzeichnisses und Unterverzeichnissen.
sudo setfacl -R -d -m u::rwX -m g::rX -m o::000 html
Machen Sie SELinux, falls installiert, ignorieren Sie die Kontextanforderung für www-Daten, damit es Schreibberechtigungen zulässt
sudo setsebool -P httpd_unified 1
list-Verzeichnis, um neue Berechtigungen anzuzeigen
ls -ld html
Gibt dies zurück
drwxrwsr-x+ 3 html www-data
Das abschließende + bedeutet, dass ACL, Access Control List, für das Verzeichnis festgelegt ist.
Referenz :Link zum Forum