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

So ändern Sie die Dateiberechtigungen in Linux rekursiv

Wenn Sie Linux als Ihr Hauptbetriebssystem verwenden oder Linux-Server verwalten, werden Sie auf eine Situation stoßen, in der Sie versuchen, eine Datei zu erstellen oder zu bearbeiten, und einen „Permission deny“-Fehler erhalten. Normalerweise können Fehler im Zusammenhang mit unzureichenden Berechtigungen behoben werden, indem die richtigen Dateiberechtigungen oder Eigentumsrechte festgelegt werden.

Linux ist ein Mehrbenutzersystem, und der Zugriff auf die Dateien wird über die Dateiberechtigungen, Attribute und Eigentumsrechte gesteuert. Dadurch wird sichergestellt, dass nur autorisierte Benutzer und Prozesse auf Dateien und Verzeichnisse zugreifen können.

Weitere Informationen zu Dateiberechtigungen finden Sie unter „Umask-Befehl in Linux“.

In diesem Artikel erklären wir, wie Sie die Berechtigungen von Dateien und Verzeichnissen rekursiv ändern.

Chmod rekursiv #

Der chmod Mit dem Befehl können Sie die Berechtigungen von Dateien im symbolischen oder numerischen Modus ändern.

Um alle Dateien und Verzeichnisse in einem bestimmten Verzeichnis rekursiv zu bearbeiten, verwenden Sie chmod Befehl mit dem -R , (--recursive ) Möglichkeit. Die allgemeine Syntax zum rekursiven Ändern der Dateiberechtigungen lautet wie folgt:

chmod -R MODE DIRECTORY

Zum Beispiel, um die Berechtigungen aller Dateien und Unterverzeichnisse unter /var/www/html zu ändern Verzeichnis nach 755 Sie würden verwenden:

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 Benutzer mit sudo Privilegien können die Berechtigungen einer Datei ändern. Seien Sie besonders vorsichtig, wenn Sie die Berechtigungen der Dateien rekursiv ändern.

Mit dem find Befehl #

Im Allgemeinen sollten die Dateien und Verzeichnisse nicht die gleichen Berechtigungen haben. Für die meisten Dateien ist keine Ausführungsberechtigung erforderlich, während Sie Ausführungsberechtigungen für die Verzeichnisse festlegen müssen, um in sie wechseln zu können.

Das häufigste Szenario besteht darin, die Berechtigungen der Website-Datei rekursiv auf 644 zu ändern und die Berechtigungen des Verzeichnisses auf 755 .

Mit der numerischen Methode:

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

Mit 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 Der Befehl sucht nach Dateien oder Verzeichnissen unter /var/www/html und übergibt jede gefundene Datei oder jedes Verzeichnis an chmod Befehl zum Festlegen der Berechtigungen.

Bei Verwendung von find mit -exec , der chmod Der Befehl wird für jeden gefundenen Eintrag ausgeführt. Verwenden Sie die xargs Befehl, um die Operation zu beschleunigen, indem mehrere Einträge gleichzeitig übergeben werden:

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

Schlussfolgerung #

Der chmod Befehl mit dem -R Optionen können Sie die Berechtigungen der Datei rekursiv ändern.

Verwenden Sie chmod, um rekursiv Berechtigungen für Dateien basierend auf ihrem Typ festzulegen in Kombination mit find Befehl.

Wenn Sie Fragen oder Feedback haben, können Sie gerne einen Kommentar hinterlassen.


Linux
  1. So ändern Sie die Farbe Ihres Linux-Terminals

  2. So ändern Sie die Identität eines Linux-Systems

  3. Linux chmod und chown – So ändern Sie Dateiberechtigungen und Eigentumsrechte in Linux

  4. Erfahren Sie, wie Sie Berechtigungen für Dateien und Ordner ändern

  5. So verwenden Sie den Befehl chmod (Modus ändern) unter Linux

So ändern Sie die Priorität eines Prozesses in Linux

So ändern Sie die Sudo-Eingabeaufforderung in Linux

So finden Sie Dateien anhand ihrer Berechtigungen in Linux

Chmod-Befehl – ​​So ändern Sie Dateiberechtigungen in Linux

So finden Sie Dateien mit dem fd-Befehl in Linux

So ändern Sie das Root-Passwort unter Linux