So ändern Sie rekursiv Dateiberechtigungen in Linux

Linux File Permissions Featured
⏱️ 5 min read

Da Linux ein Mehrbenutzer-Betriebssystem ist, verfügt es über einen Mechanismus, der Dateiberechtigungen festlegt und verwaltet, um sicherzustellen, dass nur autorisierte Prozesse und Benutzer auf verschiedene Verzeichnisse und Dateien zugreifen können. Wenn Sie Linux verwenden, können Sie auf verschiedene Fälle stoßen, in denen Sie Dateien oder Verzeichnisse aufgrund des Fehlers „Berechtigung verweigert“ nicht bearbeiten können, was darauf hinweist, dass Sie nicht über die erforderlichen Berechtigungen verfügen. Dieses Tutorial zeigt Ihnen, wie Sie Dateiberechtigungen in Linux rekursiv ändern, um sicherzustellen, dass Ihre Berechtigungseinstellungen für Unterordner und Dateien gelten.

So überprüfen Sie Dateiberechtigungen in Linux

Wenn der Fehler „Berechtigung verweigert“ bei einer Datei- oder Verzeichnisoperation auftritt, überprüfen Sie zunächst die zugewiesenen Berechtigungen für den Benutzer, die Gruppe und andere.

Dazu können Sie die verwenden ls -l Befehl. Das Folgende sind beispielsweise Berechtigungen für verschiedene Dateien und Verzeichnisse im Verzeichnis „/var“.

Ls L

Die obige Ausgabe enthält spezifische Informationen.

  1. Die erste Spalte repräsentiert die Datei- und Verzeichnisberechtigungen. Der erste Buchstabe in dieser Spalte gibt den Typ an: d bedeutet Verzeichnis, l steht für einen symbolischen Link und - eine normale Datei.
  2. Die anderen neun Zeichen sind in drei Sätze gruppiert: u Benutzer, g Gruppe und o Eigentümer geben die Datei- oder Verzeichnisberechtigungen an. r zeigt “Lese”-Berechtigungen an, w gibt „Schreib“-Berechtigungen an, und X gibt „Ausführungs“-Berechtigungen an.
Ls La Highlight

Sobald Sie die Dateiberechtigungen Ihres Arbeitsverzeichnisses oder Ihrer Datei kennen, können Sie sie einfach ändern.

So verwenden Sie chmod, um Dateiberechtigungen zu ändern

Das chmod Der Befehl ist die einfachste Möglichkeit, Dateiberechtigungen in Linux zu ändern. Die allgemeine Syntax für den Befehl lautet:

chmod {permission}{operator}{mode}
  • Berechtigung: Dies stellt die Berechtigungen dar, die einem Benutzer, einer Gruppe, einem Eigentümer oder allen erteilt wurden.
  • Operator: Dies gibt Berechtigungen an, die dem Berechtigten erteilt wurden: + erteilt die Erlaubnis, - verweigert Berechtigungen, und = gibt an, welche Berechtigungen festgelegt werden sollen.
  • Modus: Dies bestimmt, welche Berechtigungen festgelegt werden sollen: r lesen, w schreiben oder x ausführen.

Um beispielsweise allen Schreibzugriff auf das Backup-Verzeichnis im Verzeichnis „/var“ zu verweigern, können Sie den Befehl verwenden:

 sudo chmod -w /var/backups

Obwohl das Ändern von Dateiberechtigungen mit dem chmod wirksam ist, ändert er nur die Dateiberechtigungen für das angegebene Verzeichnis oder die angegebene Datei.

Glücklicherweise können Sie die Dateiberechtigungen eines Verzeichnisses oder einer Datei und ihrer Unterverzeichnisse und Dateien rekursiv ändern. Verwenden Sie dazu den rekursiven Befehl chmod -r Möglichkeit.

Lassen Sie uns beispielsweise rekursiv entfernen read Berechtigungen für das Verzeichnis „/var/backup“ und alle seine Dateien und Unterverzeichnisse. Die aktuellen Berechtigungen sind:

drwxrwxrwx  2 root root   4096 Jul 15 06:25 backups

Jetzt lass uns laufen chmod rekursiv, um die Berechtigungen zu ändern:

sudo chmod –r -r /var/backups

Jetzt können Sie sehen, dass sich die Dateiberechtigungen geändert haben.

Chmod-Entfernungsberechtigung 1

Rekursive Änderungsberechtigung mit find

Normalerweise werden Sie keine Dateien und Verzeichnisse mit ähnlichen Berechtigungen festlegen. Dies liegt daran, dass Sie dazu die Ausführungsberechtigung benötigen cd in ein bestimmtes Verzeichnis. Die meisten Dateien benötigen diese Ausführungsberechtigung jedoch nicht.

Um dies zu überwinden, können Sie die verwenden find Dienstprogramm unter Linux. Auf diese Weise können Sie nur bestimmte Dateien oder Verzeichnisse finden und Berechtigungen für sie festlegen.

Nehmen wir das Verzeichnis „/var/log“. Das Verzeichnis enthält sowohl Dateien als auch Verzeichnisse.

Verzeichnisse für Var-Protokolldateien

Um bestimmte Berechtigungen nur für Dateien festzulegen, können wir den Befehl find mit dem verwenden -type f Möglichkeit.

Sehen Sie sich einen Beispielbefehl unten an:

sudo find /var/log/ -type f -exec chmod 777 {} ;

Im obigen Beispiel haben wir den Befehl find verwendet, um das Verzeichnis „/var/log“ nach Dateien zu durchsuchen, und dann Lese-, Schreib- und Ausführungsberechtigungen für Benutzer, Gruppen und alle festgelegt.

Wir können den gleichen Fall auch für Verzeichnisse durchführen. In diesem Fall geben wir die an -type d um nur Verzeichnisse zu bekommen.

Zum Beispiel:

sudo find /var/log/ -type d -exec chmod 755 {} ;

Im obigen Beispiel setzen wir die Berechtigung 755 nur auf Verzeichnisse und nicht sowohl auf Dateien als auch auf Verzeichnisse.

Sie können dies überprüfen, indem Sie die verwenden ls -la Befehl.

Chmod mit Find Verify

Sie werden feststellen, dass alle Dateien die Berechtigung 777 haben, während Verzeichnisse 755 Berechtigungen haben.

Abschließend

Zu wissen, wie Dateiberechtigungen in Linux geändert werden, ist eine wesentliche Fähigkeit, da sie dazu beiträgt, unbefugten Zugriff und Änderungen an verschiedenen Dateien und Verzeichnissen zu verhindern. In der Zwischenzeit können Sie auch den Dateibesitz ändern, um den Dateizugriff einzuschränken, oder die Zugriffskontrollliste für eine noch feinere Kontrolle der Dateiberechtigungen in Linux verwenden.

Join our Newsletter and receive offers and updates! ✅

0 0 votes
Article Rating
Avatar of Routech

Routech

Routech is a website that provides technology news, reviews and tips. It covers a wide range of topics including smartphones, laptops, tablets, gaming, gadgets, software, internet and more. The website is updated daily with new articles and videos, and also has a forum where users can discuss technology-related topics.

Das könnte dich auch interessieren …

Abonnieren
Benachrichtige mich bei
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x