Android

So ändern Sie die Dateiberechtigungen unter Linux rekursiv

Datei-Rechte in Linux ändern und verwalten [Terminal]

Datei-Rechte in Linux ändern und verwalten [Terminal]

Inhaltsverzeichnis:

Anonim

Linux ist ein Mehrbenutzersystem, und der Zugriff auf die Dateien wird über die Dateiberechtigungen, -attribute und -eigentümer 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 unter Linux“.

Wir erläutern, wie Sie die Berechtigungen von Dateien und Verzeichnissen rekursiv ändern.

Chmod rekursiv

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

Verwenden Sie den Befehl chmod mit der Option -R ( --recursive ), um alle Dateien und Verzeichnisse in einem bestimmten Verzeichnis rekursiv zu --recursive . Die allgemeine Syntax zum rekursiven Ändern der Dateiberechtigungen lautet wie folgt:

chmod -R MODE DIRECTORY

Um beispielsweise die Berechtigungen aller Dateien und Unterverzeichnisse im Verzeichnis /var/www/html auf 755 zu ändern, würden Sie Folgendes 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 Berechtigungen können die Berechtigungen einer Datei ändern. Seien Sie besonders vorsichtig, wenn Sie die Dateiberechtigungen rekursiv ändern.

Verwenden des Befehls find

Im Allgemeinen sollten die Dateien und Verzeichnisse nicht die gleichen Berechtigungen haben. Die meisten Dateien erfordern keine Ausführungsberechtigung, wohingegen Sie Ausführungsberechtigungen für die Verzeichnisse festlegen müssen, um in diese zu wechseln.

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

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 Befehl find sucht nach Dateien oder Verzeichnissen unter /var/www/html und übergibt jede gefundene Datei oder jedes Verzeichnis an den Befehl chmod , um die Berechtigungen chmod .

Wenn Sie find mit -exec , wird der Befehl chmod für jeden gefundenen Eintrag ausgeführt. Verwenden Sie den Befehl xargs , um den Vorgang zu beschleunigen, indem Sie mehrere Einträge gleichzeitig übergeben:

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

Fazit

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

Verwenden Sie chmod in Kombination mit dem Befehl find , um die Berechtigungen von Dateien basierend auf ihrem Typ rekursiv chmod .

chmod terminal