Empfohlen, 2024

Tipp Der Redaktion

Grundlegendes zu Linux-Berechtigungen und zur Verwendung von chmod

Ich habe in den letzten Monaten an einem Linux-Kurs teilgenommen und ein Aspekt von Linux, der mich immer verwirrt hat, war die Funktionsweise von Berechtigungen. Wenn Sie beispielsweise eine Datei einmal auf meinen Webserver hochladen und einen Fehler erhalten, wurde ich von meinem Webhost aufgefordert, die Dateiberechtigungen auf 755 zu ändern.

Ich hatte keine Ahnung, was das bedeutete, obwohl das Ändern der Berechtigungen das Problem behoben hatte. Ich habe jetzt erkannt, dass Linux-Berechtigungen nicht so kompliziert sind, man muss nur das System verstehen. In diesem Artikel werde ich auf hoher Ebene über Linux-Berechtigungen sprechen und Ihnen zeigen, wie Sie mit dem Befehl chmod die Berechtigungen für Dateien und Ordner ändern.

Linux-Berechtigungen und -Levels

In Linux gibt es im Wesentlichen drei Berechtigungen, um die Sie sich normalerweise sorgen müssen: Lesen, Schreiben und Ausführen. Alle drei sind ziemlich selbsterklärend. Wenn diese Berechtigungen nun auf eine Datei angewendet werden, werden sie in Stufen angewendet.

In Linux gibt es drei Berechtigungsstufen: Besitzer, Gruppe und andere. Der Eigentümer ist der Benutzer, dem die Datei / der Ordner gehört. Die Gruppe schließt andere Benutzer in die Dateigruppe ein und andere repräsentieren nur alle anderen Benutzer, die nicht der Eigentümer oder die Gruppe sind.

Lesen, Schreiben und Ausführen werden entweder als symbolische Zeichen oder als Oktalzahlen dargestellt. Wenn Sie beispielsweise in einem Verzeichnis mit einigen Dateien ein ls -l ausführen, wird die symbolische Zeichendarstellung der Berechtigungen angezeigt.

Die Berechtigungen werden wie folgt geschrieben: Das erste Bit ist entweder ein Bindestrich oder der Buchstabe d. Bindestrich bedeutet, dass es sich um eine Datei handelt und d steht für Verzeichnis. Beachten Sie, dass das erste Bit auch ein l sein kann, wenn der Dateiname ein Link ist. Als nächstes gibt es drei Gruppen von drei Bits. Das erste Bit in jeder Gruppe dient zum Lesen, das zweite Bit zum Schreiben und das dritte Bit zum Ausführen. Die ersten drei Bits sind für den Besitzer, die zweiten drei Bits für die Gruppe und die dritten drei Bits für andere. Hier ist eine visuellere Erklärung.

Wenn Sie anstelle eines Buchstabens einen Bindestrich sehen, bedeutet dies, dass der Eigentümer, die Gruppe oder alle anderen Benutzer diese Berechtigung nicht haben. Im obigen Beispiel verfügen der Eigentümer, die Gruppe und alle anderen Benutzer über Lese- und Ausführungsberechtigungen.

Wenn Sie sich die Ausgabe des Befehls ls -l ansehen, werden Sie feststellen, dass meine Übungstextdatei die folgenden Berechtigungen hat:

 -rw-rw-rw- 

Dies bedeutet, dass jeder nur über Lese- und Schreibberechtigungen für die Datei verfügt. Hier ist ein anderes Beispiel:

 drwxr - r-- 

Beim ersten Blick sehen wir, dass die Berechtigungen für ein Verzeichnis gelten. Der Besitzer verfügt über Lese- / Schreib- / Ausführungsberechtigungen, die Gruppe und andere Benutzer haben jedoch nur Leseberechtigung.

Oktalzahl-Darstellung

So werden Berechtigungen in Linux mit Symbolen angezeigt. Die zweite Möglichkeit, dieselben Berechtigungen darzustellen, besteht in der Verwendung von Oktalzahlen. Wenn Sie den Befehl chmod später verwenden, können Sie die Berechtigungen mit Symbolen oder Oktalzahlen ändern.

Wie stellt Linux also das Lesen, Schreiben und Ausführen mit Oktalzahlen dar? Im Prinzip wird jeder Berechtigung nur eine Nummer zugewiesen, wie unten gezeigt.

Die Leseberechtigung wird durch 4 dargestellt, durch 2 geschrieben und durch 1 ausgeführt. Sie müssen sie nur addieren, um die Oktalberechtigung zu erhalten. Nehmen wir zum Beispiel das obige Beispiel, in dem jeder über alle Berechtigungen verfügt:

 -rwxrwxrwx 

Der Besitzer hat rwx, also addieren wir 4 + 2 + 1, um einen Wert von 7 zu erhalten. Wir machen das gleiche für die Gruppe und das gleiche für andere. Der letzte Oktalwert ist 777. Schauen wir uns das Beispiel an, bei dem wir nur Lese- und Schreibrechte vergeben haben:

 -rw-rw-rw- 

Die erste Oktalzahl ist 4 + 2, da wir Lesen und Schreiben hinzufügen. Die zweite ist die gleiche wie die dritte Oktalzahl. Hier haben wir einen endgültigen Oktalwert von 666.

Also versuchen wir es mal anders. Angenommen, wir möchten wissen, welche Berechtigungen 755 darstellen? Nun, es ist ziemlich leicht herauszufinden, ob Sie es nach einzelnen Zahlen aufschlüsseln. Die erste Zahl ist 7, was wir nur durch Addieren von 4 + 2 + 1 erhalten können, was bedeutet, dass der Eigentümer die Berechtigung zum Lesen / Schreiben / Ausführen besitzt. Fünf können nur durch Hinzufügen von 4 + 1 erhalten werden. Dies bedeutet, dass die Gruppe und andere Benutzer Lese- und Ausführungsberechtigungen haben.

Hoffentlich ist dies eine gute Erklärung dafür, wie Berechtigungen in Linux mit Oktalzahlen dargestellt werden. Es ist insgesamt ziemlich geradlinig.

Chmod zum Ändern von Berechtigungen verwenden

Nun, da wir verstehen, wie Berechtigungen gelesen werden können, wollen wir darüber reden, wie wir sie ändern können. Das am einfachsten zu verwendende Dienstprogramm ist der Befehl chmod. So funktioniert das. Der beste Weg, um den Befehl zu erklären, ist ein Beispiel.

Beginnen wir mit den Berechtigungen, über die wir oben gesprochen haben, und zwar:

 -rw-rw-rw- 

Wenn wir die Ausführungsberechtigung für Besitzer, Gruppe und andere hinzufügen möchten, können wir dies auf zwei Arten tun. Wir könnten die Symbolmethode oder die Oktalmethode verwenden. Für die Symbolmethode würden wir wie folgt vorgehen:

Der genaue Befehl lautet

 chmod a + x Dateiname 

Die Syntax lautet wie folgt: Der oder die Buchstaben, die den Eigentümer ( u ), die Gruppe ( g ), andere ( o ) oder alle ( a ) darstellen, gefolgt von einem + zum Hinzufügen von Berechtigungen oder einem - zum Entfernen von Berechtigungen und dem Buchstaben für die Erlaubnis ( r für Lesen, w für Schreiben und x für Ausführen).

Im obigen Beispiel habe ich die Ausführungsberechtigung für alle Benutzer hinzugefügt. Das Ergebnis, wie Sie in der Abbildung oben sehen können, ist ein x für Besitzer, Gruppe und anderes. Nehmen wir an, ich wollte die Schreib- und Ausführungsberechtigungen nur für die Gruppe und andere Benutzer entfernen.

Wie Sie hier sehen können, habe ich dazu den folgenden Befehl verwendet:

 chmod go-wx Dateiname 

Da ich die Berechtigungen für Gruppe und andere ändern möchte, verwende ich den Buchstaben g und den Buchstaben o . Ich möchte Berechtigungen entfernen, daher verwende ich das - Zeichen. Schließlich möchte ich die Schreib- und Ausführungsberechtigungen entfernen, daher verwende ich w und x . Hier ist eine praktische kleine Tabelle für die Verwendung von Symbolen:

Das ist also alles, um die Symbolmethode zu verwenden. Lassen Sie uns nun über die Oktalmethode sprechen, die ich etwas einfacher finde. Octal ist schön, weil Sie alle Berechtigungen auf einmal hinzufügen oder entfernen können.

Wenn wir mit den folgenden Berechtigungen für eine Datei beginnen, wollen wir sehen, wie wir sie mit der Oktalmethode ändern können:

 -rw-rw-rw- 

Oben sehen Sie den folgenden Befehl:

 chmod 744 Dateiname 

Dies bedeutet im Wesentlichen, dass der Besitzer die Berechtigung zum Lesen / Schreiben / Ausführen erhält und die Gruppe und andere nur Leserechte erhalten. Wie Sie sehen, können Sie mit einem einfachen Befehl einfach Berechtigungen hinzufügen oder entfernen. Machen wir weiter und sagen, ich möchte die Berechtigungen erneut ändern.

Nun habe ich den folgenden Befehl verwendet, wieder einen sehr einfachen:

 chmod 640 Dateiname 

Hier haben wir dem Besitzer Lese- / Schreibberechtigungen erteilt, der Gruppe nur Leseberechtigung und der anderen Gruppe keine Berechtigungen. Sie verwenden eine Null, um keine Berechtigungen anzugeben. Ganz einfach, wie?

Zusammenfassend ist dies ein sehr einfacher Überblick über die Linux-Berechtigungen und kann sehr viel komplizierter werden, aber für Anfänger ist es ein guter Anfang. Ich werde in Zukunft weitere Artikel zu erweiterten Berechtigungen veröffentlichen. Wenn Sie Fragen haben, können Sie dies gerne kommentieren. Genießen!

Top