1. Startseite
  2. Benutzerrechte
  3. Ändern von Dateiberechtigungen in Linux auf rekursive Weise

Ändern von Dateiberechtigungen in Linux auf rekursive Weise

Arbeitest du hauptsächlich mit Linux oder administrierst Linux-Server, wirst du sicherlich auf das Problem stoßen, dass du eine Datei erstellen oder bearbeiten möchtest, aber aufgrund fehlender Zugriffsrechte eine Fehlermeldung erhältst. In der Regel können solche Fehler durch das Anpassen der Dateiberechtigungen oder des Besitzers behoben werden.

Da Linux ein Multi-User-System ist, erfolgt der Zugriff auf Dateien über Dateiberechtigungen, -attribute und -eigentümer. Das stellt sicher, dass nur berechtigte Nutzer und Prozesse auf die Dateien und Ordner zugreifen können.

Mehr Informationen zu Dateiberechtigungen erhältst du im Befehl Umask in Linux.

In diesem Artikel zeigen wir dir, wie du Berechtigungen von Dateien und Ordnern rekursiv änderst.

Rekursives Chmod

Mithilfe des chmod-Befehls kannst du die Berechtigungen von Dateien im symbolischen oder numerischen Modus ändern.

Um rekursiv alle Dateien und Ordner innerhalb eines bestimmten Ordners zu bearbeiten, nutze den Befehl chmod zusammen mit der Option -R (--recursive). Die grundlegende Syntax zum rekursiven Ändern der Dateiberechtigungen sieht wie folgt aus:

chmod -R MODE DIRECTORY

Um beispielsweise die Berechtigungen aller Dateien und Unterordner im Ordner /var/www/html auf 755 zu setzen, verwende:

chmod -R 755 /var/www/html

Der Modus kann auch mit der symbolischen Methode angegeben werden:

chmod -R u=rwx,go=rx /var/www/html

Nur root, der Dateieigentümer oder ein Benutzer mit sudo-Berechtigungen kann die Berechtigungen einer Datei ändern. Sei äußerst vorsichtig, wenn du Dateiberechtigungen rekursiv anpasst.

Den find-Befehl verwenden

Normalerweise sollten Dateien und Ordner nicht dieselben Berechtigungen haben. Die meisten Dateien benötigen keine Ausführungsberechtigung, während du für die Ordner Ausführungsberechtigungen festlegen musst, um in sie wechseln zu können.

Das übliche Vorgehen ist, die Berechtigungen für die Dateien einer Website rekursiv auf 644 und die Berechtigungen für die Ordner auf 755 zu ändern.

Verwendung der numerischen Methode:

find /var/www/html -type d -exec chmod 755 {} \;find /var/www/html -type f -exec chmod 644 {} \;

Verwendung der symbolischen Methode:

find /var/www/html -type d -exec chmod u=rwx,go=rx {} \;find /var/www/html -type f -exec chmod u=rw,go=r {} \;

Der find-Befehl sucht nach Dateien oder Ordnern unter /var/www/html und übergibt jede gefundene Datei oder jeden gefundenen Ordner an den chmod-Befehl, um die Berechtigungen festzulegen.

Wenn du find zusammen mit -exec verwendest, wird der chmod-Befehl für jeden gefundenen Eintrag ausgeführt. Um den Prozess zu beschleunigen, verwende den xargs-Befehl, um mehrere Einträge auf einmal zu übergeben:

find /var/www/html -type d -print0 | xargs -0 chmod 755 find /var/www/html -type f -print0 | xargs -0 chmod 644

Zusammenfassung

Der Befehl chmod in Verbindung mit der Option -R ermöglicht es dir, Dateiberechtigungen rekursiv zu ändern.

Um die Berechtigungen von Dateien rekursiv basierend auf ihrem Typ festzulegen, verwende chmod in Kombination mit dem Befehl find.

Bei Fragen oder Feedback zögere nicht, einen Kommentar zu hinterlassen.

War dieser Beitrag hilfreich?

Verwandte Beiträge