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

So ändern Sie Dateiberechtigungen rekursiv mit chmod in Linux

Einführung

Mehrbenutzersysteme wie Linux erfordern das Einrichten und Verwalten von Dateiberechtigungen, die sicherstellen, dass nur autorisierte Benutzer Zugriff auf die Dateien haben, für die sie vorgesehen sind.

Wenn Sie eine Dateiberechtigung ändern müssen, verwenden Sie chmod Befehl. Es ermöglicht auch, die Dateiberechtigung rekursiv zu ändern um mehrere Dateien und Unterverzeichnisse mit einem einzigen Befehl zu konfigurieren.

In diesem Tutorial erfahren Sie, wie Sie chmod rekursiv verwenden und die Dateiberechtigungen unter Linux ändern.

Voraussetzungen

  • Ein Befehlszeilen-/Terminalfenster (Strg + Alt +T oder Strg +Alt+F2 )
  • Ein Benutzerkonto mit sudo Privilegien (optional)
  • Ein Linux-System

Dateiberechtigung prüfen

Wenn Sie die Dateiberechtigungen im Arbeitsverzeichnis überprüfen müssen, verwenden Sie den Befehl:

ls –l

Die Ausgabe listet die Berechtigungen aller Dateien im Verzeichnis auf.

Zum Beispiel das Beispiel Verzeichnis enthält drei Dateien (test1.txt , test2.txt und test3.txt ) mit denselben Berechtigungen (-rw-rw-r– ).

Die oben aufgeführten Dateiberechtigungen sagen uns Folgendes:

  • Der Eigentümer hat Lese- und Schreibrechte
  • Die Eigentümergruppe hat Lese- und Schreibrechte
  • Andere Benutzer Leserechte haben

Berechtigung rekursiv ändern

Es ist üblich, den einfachen chmod zu verwenden Befehl, um die Berechtigung einer einzelnen Datei zu ändern. Möglicherweise müssen Sie die Berechtigung jedoch rekursiv für alle Dateien innerhalb eines Verzeichnisses ändern.

In solchen Fällen die chmod rekursive Option (-R oder --recursive ) setzt die Berechtigung für ein Verzeichnis (und die darin enthaltenen Dateien).

Die Syntax zum rekursiven Ändern der Dateiberechtigung lautet:

chmod -R [permission] [directory]

Stellen Sie daher die 755 ein Berechtigung für alle Dateien im Beispiel Verzeichnis würden Sie Folgendes eingeben:

sudo chmod -R 755 Example

Der Befehl gibt lesen, schreiben und ausführen aus Privilegien für den Besitzer (7 ) und lesen und ausführen Zugriff für alle anderen (55 ).

Berechtigungen mit dem Find-Befehl ändern

Um Verzeichnissen und Dateien getrennte Berechtigungen zuzuweisen, können Sie die Datei find verwenden Befehl.

Die grundlegende Syntax umfasst die Verwendung von find Befehl, um Dateien/Verzeichnisse zu finden und dann an chmod weiterzuleiten um die Berechtigung zu setzen:

sudo find [directory] -type [d/f] -exec chmod [privilege] {} \;
  • Ersetzen Sie [directory] mit dem Verzeichnispfad, der die Dateien und Unterverzeichnisse enthält, die Sie konfigurieren möchten.
  • Geben Sie an, ob nach einem Verzeichnis gesucht wird -type d ein oder eine Datei -type f .
  • Setzen Sie die Datei [privilege] mit dem chmod Befehl im numerischen oder symbolischen Modus.

Vermeiden Sie es, Dateien Ausführungsrechte zuzuweisen. Eine übliche Einrichtung würde die Ausführung der folgenden Befehle beinhalten:

sudo find Example -type d -exec chmod 755 {} \;
sudo find Example -type f -exec chmod 644 {} \;

In diesem Beispiel haben die Verzeichnisse 755 (u=rwx,go=rx )-Berechtigungen, während die Dateien 644 (u=rw,go=r)-Berechtigungen haben.

Sie können überprüfen, ob Verzeichnisse und Dateien unterschiedliche Berechtigungseinstellungen haben, indem Sie zum Beispiel wechseln Verzeichnis (cd Example ) und den Inhalt auflisten (ls -l ). Die Ausgabe sollte der folgenden ähneln:

Berechtigung bestimmter Dateien rekursiv ändern

Kombinieren der find Befehl mit chmod kann auch verwendet werden, um die Berechtigung von Dateien eines bestimmten Typs zu ändern.

Die Befehlssyntax zum Ändern der Berechtigung eines bestimmten Dateityps in einem Verzeichnis lautet:

find [directory] -name "*.[filename_extension]" -exec chmod [privilege] {} \;

Zum Beispiel, um alle .sh zu machen Dateien im aktuellen Verzeichnis ausführbar , würden Sie verwenden:

find . -name "*.sh" -exec chmod +x {} \;

Linux
  1. So finden Sie Dateien mit SUID- und SGID-Berechtigungen in Linux

  2. So finden Sie eine Datei in Linux rekursiv in allen Verzeichnissen

  3. Linux-Berechtigungen:Eine Einführung in chmod

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

  5. Wie verwende ich chmod, um die Dateiberechtigung zu ändern?

Linux:So teilen Sie Dateien in einem lokalen Netzwerk mit woof

So ändern Sie Berechtigungen in Linux

So benennen Sie eine Datei (en) in Linux um

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

So kopieren Sie Dateien mit einer bestimmten Dateierweiterung rekursiv

So komprimieren Sie eine Datei unter Linux