In diesem kurzen Tutorial werden wir sehen, wie wir es verwenden können chmod Befehl auf einem Ubuntu-Computer zum Suchen, Ändern und Entfernen von Benutzerberechtigungen für bestimmte Dateien, die im Dateisystem des Benutzers vorhanden sind. Lass uns verschiedene Bedingungen durchspielen, damit wir die Basics meistern können chmod Befehle, 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 grundlegenden Rechte verstehen. 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 können mit einer Berechtigung ausgeführt werden?
- Wer darf welche Aktionen ausführen
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:
- Eigentümer der Datei
- Gruppe des Eigentümers der Datei
- Benutzer, die nicht mit der Eigentümergruppe oder dem Eigentümer selbst verknüpft sind
Führen Sie den folgenden Befehl aus, um Berechtigungen für eine Datei anzuzeigen:
ls -lFolgendes erhalten wir mit diesem Befehl zurück:
Berechtigung für Dateien finden
In der Ausgabe stellen die ersten 10 Zeichen die Berechtigung für die Datei dar:
- Das erste Zeichen, das in diesem Fall '-' ist, bedeutet, dass dies eine Datei ist. Für ein Verzeichnis wäre dies ein 'd' gewesen.
- Die nächsten neun Zeichen stellen Berechtigungen für den Eigentümer, die Gruppe des Eigentümers bzw. andere dar.
Berechtigungen ändern
Die Syntax zum Ändern der Berechtigung einer Datei sieht wie folgt aus:
chmod-Berechtigungsdatei [Datei 2]…Oktale Darstellung für Berechtigungen
Wir können Berechtigungen als Oktalzahl darstellen. Zum Beispiel, um Lese-, Schreib- und Ausführungsberechtigungen für den Besitzer, Lese- und Schreibberechtigungen für seine Gruppe und keine Berechtigung für andere zu setzen, um ein Hallo.txt-Datei führen wir den folgenden Befehl aus:
sudo chmod 760 hallo.TXTSobald wir den obigen Befehl ausführen und versuchen, eine Datei mit einem Nicht-Eigentümer-Konto mit dem folgenden Befehl zu lesen:
sudo -u notowner-user mehr hallo.TXTWir erhalten folgenden Fehler:
Hallo.txt: Berechtigung verweigertAber 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ühren Genehmigung
- 2: Bedeutet die schreiben Genehmigung
- 4: Bedeutet die lesen Genehmigung
Um dem Besitzer Lese-, Schreib- und Ausführungsrechte zuzuweisen, haben wir ihm die Nummer 7 (= 4 + 2 + 1) zugewiesen. Lassen Sie uns dies in einer Zifferntabelle 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 klar in Bezug auf die Dateiberechtigungen.
Zeichendarstellung für Berechtigungen
Wir können Berechtigungen als Oktalzahl darstellen. Zum Beispiel, um Lese-, Schreib- und Ausführungsberechtigungen für den Besitzer, Lese- und Schreibberechtigungen für seine Gruppe und keine Berechtigung für andere zu setzen, um ein Hallo.txt-Datei führen wir den folgenden Befehl aus:
sudo chmod u=rwe,g=rw,o-rwx hallo.TXTUm einem vorhandenen Benutzer Berechtigungen hinzuzufügen, können wir auch Folgendes tun:
sudo chmod g+w hallo.TXTHier wurde das Schreibrecht 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 jeder einzelnen Datei und jedes Ordners in einem bereitgestellten Verzeichnis auf einmal zu ändern, verwenden Sie sudo chmod mit -R:
sudo chmod 777 Verzeichnis/*Wir sehen die folgende Ausgabe, die die Änderung der Dateiberechtigungen deutlich widerspiegelt:
Dateiberechtigungen rekursiv ändern
Fazit
In dieser Lektion haben wir uns angeschaut, wie wir die Berechtigungen einer Datei ändern und bei Bedarf rekursiv tun können. Wir haben die grundlegenden Konzepte hinter Linux-Berechtigungen verstanden, die uns bei unserer täglichen Arbeit sehr helfen können.