Ändern Sie die Dateiberechtigungen rekursiv Linux rekursiv

Ändern Sie die Dateiberechtigungen rekursiv Linux rekursiv
Linux als alle anderen Betriebssysteme sind ein Multi-User-Betriebssystem, auf das mehrere Benutzer gleichzeitig zugegriffen werden können. Daher ist es für die Administratoren sehr wichtig, die ordnungsgemäßen Berechtigungen anzuwenden, um unbefugten Zugriff und Missverständnis zu verhindern. Berechtigungen definieren, wer auf die in einem Multi-User-System gespeicherten Dateien zugreifen und ändern kann. Linux bietet Benutzern eine größere Flexibilität und granuläre Kontrolle über die Zugriffsberechtigungen seiner Dateisysteme.

Normalerweise hat ein Benutzer, der die Datei erstellt hat. Außerdem hat der Root -Benutzer standardmäßig alle Berechtigungen, um auf jede Datei auf dem System zuzugreifen.

In diesem Artikel werden wir erläutern. Zunächst geben wir einen kurzen Überblick darüber.

Aktuelle Dateiberechtigungen anzeigen

Führen Sie den folgenden Befehl in Ihrem Terminal aus, um die aktuellen Berechtigungen einer Datei oder eines Verzeichnisses zu betrachten:

$ ls -l

Zum Beispiel, wenn wir laufen ls-l, Wir würden eine ähnliche Ausgabe erhalten:

Wenn in der obigen Liste der erste Charakter einer Zeile mit „D“ beginnt, zeigt es an, dass es sich um ein Verzeichnis handelt, während es, wenn sie mit „-“ beginnt, angibt, dass es sich um eine Datei handelt. Danach zeigen die nächsten neun Zeichen die Berechtigungen der Datei oder eines Verzeichnisses. Diese neun Zeichen sind tatsächlich in drei Sätze für Benutzer, Gruppen und Eigentümer unterteilt. Darüber hinaus umfasst jeder Satz drei Arten von Berechtigungen, die R, W und X für die Berechtigungen „Lesen“, „schreiben“ und „ausführen“ sind.

Berechtigungen ändern

Unter Linux wird der Befehl Chmod verwendet, um die Berechtigungen einer Datei oder eines Verzeichnisses zu ändern. Um die Berechtigung zu ändern, müssen Sie jedoch der Dateibesitzer oder der Root -Benutzer sein.

Die Syntax ist:

$ chmod [Referenz] [Operator] [Modus] Datei1 Datei2…

Wo

  • Referenz: wen Sie die Berechtigungen zuweisen können e.g u (für Benutzer), G (für die Gruppe), o (für den Eigentümer).
  • Operator: + (Fügen Sie die Berechtigung hinzu), - (entfernen Sie die Berechtigung), = (nur diese Berechtigung festlegen)
  • Modus: Welche Erlaubnis zur Zuweisung von R (zum Lesen), W (für Schreiben), x (für Ausführungen)

Ändern der Berechtigungen rekursiv mit -R

Möglicherweise haben Sie festgestellt, dass diese Berechtigungen nur auf die im Befehl angegebene Datei oder Verzeichnis angewendet werden, wenn Sie Berechtigungen über den oben genannten CHMOD -Befehl anwenden. Es wird nicht auf die Unterverzeichnisse oder Dateien in einem Verzeichnis angewendet.

Mit CHMOD können Sie die Berechtigung mehrerer Dateien und Unterverzeichnisse in einem Verzeichnis mit der Option -r wie folgt ändern:

$ chmod -r [Referenz] [Operator] [Modus] Datei…

Angenommen.

Wenn wir einen der benannten Dateien anzeigen, enthält es einige Dateien mit den folgenden Berechtigungen.

Ändern wir nun die Erlaubnis unseres übergeordneten Verzeichnisses "Dateien", indem wir es wie folgt zuweisen.

$ chmod u+w -Dateien

Wo Sie für "Benutzer", das + für "Add" und das W für "Schreiben" steht.

Führen Sie nach der Zuweisung der Schreibberechtigung die “aus“ ausls -lBefehl ”Sie können sehen, dass die neue Berechtigte dem Verzeichnis„ Dateien “zugewiesen wurde.

Dieser Befehl wendet jedoch nur die Berechtigungen auf das Verzeichnis an, nicht auf die darunter liegenden Dateien. Um dies zu überprüfen, navigieren Sie mit der “zum Dateienverzeichnis zum Dateienverzeichnis“CD" Befehl. Dann laufen Sie die "ls -l" Befehl. Sie können im folgenden Screenshot sehen, dass die Berechtigungen unverändert sind.

Wenden wir die Berechtigung mit dem folgenden Befehl rekursiv an:

$ chmod -r u+w -Dateien

Es wird nicht nur die Berechtigung in das übergeordnete "Dateien" -Verzeichnis angewendet, sondern auch auf die darunter liegenden Dateien.

Um zu überprüfen, ob die Berechtigte erfolgreich angewendet wird, navigieren Sie mit dem „Dateien“ -verzeichnis zum Verzeichnis „Dateien“CDBefehl ”und dann die“ ausführen “ls -l" Befehl. Aus der folgenden Eingabe können Sie feststellen, dass die Berechtigungen erfolgreich für alle Dateien unter dem übergeordneten Verzeichnis angewendet wurden.

Auf die gleiche Weise können Sie auch die Berechtigungen in absoluter Form rekursiv zuweisen. Zum Beispiel kann der folgende Befehl verwendet werden, um die Erlaubnis zu lesen, zu schreiben und nur dem Benutzer auszuführen: Der folgende Befehl kann verwendet werden:

$ chmod -r 700

Ändern der Berechtigte rekursiv mit dem Befehl FID

Wenn CHMOD mit -R verwendet wird, um die Berechtigung in einem Verzeichnis anzuwenden, weist es allen Dateien und Unterverzeichnissen die gleiche Berechtigung zu. Manchmal möchten Sie jedoch möglicherweise separate Berechtigungen für Dateien und Verzeichnisse geben. Ein Beispiel hierfür wäre die Anwendung der Ausführungsberechtigung im Verzeichnis, jedoch nicht in Dateien, da Dateien die Ausführungserlaubnis nicht benötigen. Im Allgemeinen werden die folgenden Berechtigungen den Dateien und Verzeichnissen zugewiesen.

Für Verzeichnisse: 755 oder drwxr-xr-xx
Für Dateien: 644 oder -rw-r-r--

Wenn dies der Fall ist, verwenden Sie Verzeichnisse rekursiv die Erlaubnis, eine der absoluten oder symbolischen Form zu verwenden:

$ find/path/to/Directory -Typ D -exec chmod 755 +
$ find/path/to/verzeichnistyp d -exec chmod u = rwx, go = rx \;

Verwenden Sie eine der absoluten oder symbolischen Form, während Sie Dateien rekursiv zuordnen:

$ find/path/to/Directory -typ f -exec chmod 644 +
$ find/path/to/verzeichnistyp f -exec chmod u = rw, go = r \;

Stellen Sie sicher, dass Sie die Berechtigungen durch Ihre erforderlichen Berechtigungssätze ersetzen.

So können Sie die Verzeichnisberechtigungen unter Linux rekursiv ändern. Verwenden Sie die Option -r -Option, um rekursiv.