GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie werden Standard-Dateiberechtigungen für alle Ordner/Dateien in einem Verzeichnis festgelegt?

Ich habe es gefunden:Anwenden von Standardberechtigungen

Aus dem Artikel:

  1. Stellen Sie setgid ein Bit, sodass Dateien/Ordner unter mit derselben Gruppe wie

    erstellt werden
    chmod g+s <directory>
    
  2. 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

ein

Legen 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


Linux
  1. Wie verwendet man Inotifywait, um ein Verzeichnis für die Erstellung von Dateien einer bestimmten Erweiterung zu überwachen?

  2. Linux – Berechtigungsprobleme für freigegebenes Verzeichnis auf einem Server?

  3. Wie lege ich den Standard-Dateityp Png für den einfachen Scan fest?

  4. So finden Sie rekursiv alle Dateien mit einer Dateigröße von Null (0) Bytes in einem Verzeichnis

  5. Wie lege ich einen Standard-Nick für neue irssi-Verbindungen fest?

So kopieren Sie Dateien und Verzeichnisse unter Linux

So tarieren Sie bestimmte Dateitypen (Erweiterungen) in einem Verzeichnis

Wie setze ich Passwort-Zip-Dateien mit Command in allen Betriebssystemen?

So ändern Sie alle Vorkommen eines Wortes in allen Dateien in einem Verzeichnis

Linux-Befehl zum Leeren aller Dateien eines Verzeichnisses

Wie verschiebt man alle Dateien vom aktuellen Verzeichnis in das obere Verzeichnis?