In diesem kurzen Tutorial werden wir sehen, wie wir den chmod-Befehl in einem Ubuntu-Rechner verwenden können, um Benutzerrechte für bestimmte Dateien zu finden, zu ändern und zu entfernen, die im Dateisystem des Benutzers existieren. Spielen wir verschiedene Bedingungen durch, damit wir die grundlegenden chmod-Befehle beherrschen, die unseren Alltag mit Ubuntu erleichtern können.
Linux-Berechtigungen
Linux-Berechtigungen sind ein großartiges Regelwerk, das einfach zu verstehen ist, wenn wir die Grundrechte begreifen. Die drei wichtigsten Punkte, die wir verstehen müssen, um zu wissen, wie Linux-Berechtigungen funktionieren, sind:
- Das Element, für das die Berechtigungen definiert wurden
- Welche Aktionen mit einer Berechtigung ausgeführt werden können
- Wer welche Aktionen ausführen darf
Es gibt zwei grundlegende Elemente im Linux-Dateisystem:
- Verzeichnisse
- Dateien
Es gibt drei Aktionen, die ausgeführt werden können:
- Lesen
- Schreiben
- Ausführen. Abgesehen von der Ausführung von Skripten sind dieselben Aktionen erforderlich, um Dateien und andere Ordner darin zu erstellen
Benutzer, die diese Aktionen ausführen können, sind:
- Besitzer der Datei
- Gruppe des Besitzers der Datei
- Benutzer, die nicht mit der Besitzergruppe oder dem Besitzer selbst verbunden sind
Um die Berechtigungen für eine Datei anzuzeigen, führen Sie den folgenden Befehl aus:
Hier ist, was wir mit diesem Befehl zurückbekommen:
Erlaubnis für Dateien finden
In der Ausgabe stellen die ersten 10 Zeichen die Erlaubnis für die Datei dar:
- Das erste Zeichen, das in diesem Fall „-“ ist, bedeutet, dass es sich um eine Datei handelt. Bei einem Verzeichnis wäre dies ein ‚d‘.
- Die nächsten neun Zeichen stehen für die Berechtigungen des Eigentümers, der Gruppe des Eigentümers und anderer.
Ändern von Berechtigungen
Die Syntax zum Ändern der Berechtigung einer Datei sieht so aus:
Oktale Darstellung für Berechtigungen
Wir können Berechtigungen als oktale Zahl darstellen. Um zum Beispiel Lese-, Schreib- & und Ausführungsrechte für den Besitzer, Lese- & und Schreibrechte für seine Gruppe und keine Rechte für andere auf die Datei hello.txt zu setzen, führen wir folgenden Befehl aus:
Wenn wir den obigen Befehl ausführen und versuchen, eine Datei mit einem Nicht-Besitzerkonto mit folgendem Befehl zu lesen:
Wir werden folgende Fehlermeldung erhalten:
Aber woher kommt diese Zahl? Jede Ziffer dieser Zahl steht für eine Reihe von Berechtigungen. Sehen wir uns an, wie sie abgeleitet wurden:
- 0: Bedeutet keine Berechtigung
- 1: Bedeutet die Ausführungsberechtigung
- 2: Bedeutet die Schreibberechtigung
- 4: Bedeutet die Leseberechtigung
Für die Zuweisung von Lese-, Schreib- & und Ausführungsberechtigungen für den Eigentümer haben wir ihm die Zahl 7(= 4 + 2 + 1) zugewiesen. Lassen Sie uns dies anhand einer Zahlentabelle besser verstehen:
Nummer | Binär | Lesen | Schreiben | Ausführen |
0 | 000 | NEIN | NEIN | NEIN |
1 | 001 | NEIN | NEIN | JA |
2 | 010 | NEIN | JA | NEIN |
3 | 011 | NEIN | JA | JA |
4 | 100 | JA | NEIN | NEIN |
5 | 101 | JA | NEIN | JA |
6 | 110 | JA | Ja | Nein |
7 | 111 | Ja | Ja | Ja |
Die obige Tabelle ist sehr übersichtlich, was die einzelnen Dateiberechtigungen bedeuten.
Zeichendarstellung für Berechtigungen
Wir können die Berechtigungen als oktale Zahl darstellen. Um zum Beispiel Lese-, Schreib- & und Ausführungsrechte für den Besitzer, Lese- & und Schreibrechte für seine Gruppe und keine Rechte für andere auf die Datei hello.txt zu setzen, führen wir folgenden Befehl aus:
Um einem bestehenden Benutzer Berechtigungen hinzuzufügen, können wir auch folgendes tun:
Hier wurde die Schreibberechtigung der Benutzergruppe des Besitzers der Datei zugewiesen.
Rekursive Berechtigungsänderungen
Wir können auch die Berechtigungen für Dateien in einem bestimmten Verzeichnis mit einem einzigen Befehl ändern. Um die Berechtigungen aller Dateien und Ordner in einem bestimmten Verzeichnis auf einmal zu ändern, verwenden Sie sudo chmod mit -R:
Wir sehen die folgende Ausgabe, die die Änderung der Dateiberechtigungen deutlich widerspiegelt:
Dateiberechtigungen rekursiv ändern
Schlussfolgerung
In dieser Lektion haben wir uns angeschaut, wie wir eine Dateiberechtigung ändern können, und wenn nötig, rekursiv. Wir haben die grundlegenden Konzepte hinter den Linux-Berechtigungen verstanden, die uns bei unserer täglichen Arbeit sehr helfen können.