Grundlegendes zu Linux Permissions und chmod Usage


Ich habe in den letzten Monaten einen Kurs über Linux gemacht und ein Aspekt von Linux, der mich immer verwirrt hat, war, wie die Berechtigungen funktionierten. Wenn ich zum Beispiel eine Datei einmal auf meinen Webserver hochlade und einen Fehler erhalte, wurde ich von meinem Webhost aufgefordert, die Dateiberechtigungen auf 755 zu ändern.

Ich hatte keine Ahnung, was das bedeutete, auch wenn sich das änderte Die Berechtigungen haben das Problem behoben. 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 Berechtigungen für Dateien und Ordner ändern können.

Linux Permissions & amp; Levels

Unter Linux gibt es grundsätzlich drei Berechtigungen, über die Sie sich normalerweise Gedanken machen 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 Ebenen angewendet.

Es gibt drei Berechtigungsstufen in Linux: Eigentümer, Gruppe und andere. Der Besitzer ist der Benutzer, der die Datei / den Ordner besitzt, die Gruppe enthält andere Benutzer in der Gruppe der Datei und andere repräsentiert nur alle anderen Benutzer, die nicht der Eigentümer oder in der Gruppe sind.

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

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

Wenn Sie anstelle eines Buchstabens einen Gedankenstrich sehen, bedeutet dies, dass der Eigentümer, die Gruppe oder alle anderen Benutzer habe diese Erlaubnis nicht. Im obigen Beispiel haben der Besitzer, die Gruppe und alle anderen Schreib- und Ausführungsberechtigungen gelesen.

Wenn Sie sich die Ausgabe des Befehls ls -l ansehen, werden Sie feststellen, dass meine Übungstextdatei die Datei enthält Folgende Berechtigungen:

-rw-rw-rw-

Dies bedeutet, dass jeder nur Lese- / Schreibrechte für die Datei hat. Hier ist ein weiteres Beispiel:

drwxr--r--

Wenn wir das erste Bit betrachten, sehen wir, dass die Berechtigungen für ein Verzeichnis gelten. Der Besitzer hat Lese- / Schreib- / Ausführungsberechtigungen, aber die Gruppe und andere Benutzer haben nur Leserechte.

Oktalzahldarstellung

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

Wie stellt Linux also das Lesen, Schreiben und Ausführen mit Oktalzahlen dar? Im Grunde weist es jeder Berechtigung nur eine Nummer zu, wie unten gezeigt.

Die Leseberechtigung wird durch 4, Schreiben um 2 und Ausführen um 1 dargestellt. Alles was Sie tun müssen, ist sie hinzuzufügen, um die oktale Erlaubnis zu erhalten. Nehmen wir zum Beispiel das obige Beispiel, in dem jeder über alle Berechtigungen verfügt:

-rwxrwxrwx

Der Besitzer hat rwx, also fügen wir 4 + 2 + 1 hinzu, um den Wert 7 zu erhalten. Wir machen dasselbe für die Gruppe und dasselbe für die anderen. Der letzte Oktalwert ist 777. Betrachten wir das Beispiel, in dem wir nur Lese- / Schreibberechtigungen erhielten:

-rw-rw-rw-

Die erste Oktalzahl ist 4 + 2, da wir es sind Hinzufügen von Lesen und Schreiben. Der zweite wird genauso sein wie der dritte Oktal. Hier haben wir einen letzten Oktalwert von 666.

Also versuchen wir es jetzt andersherum. Angenommen, wir möchten wissen, welche Berechtigungen 755darstellen. Nun, es ist ziemlich einfach herauszufinden, ob Sie es durch einzelne Zahlen brechen. Die erste Zahl ist 7, die wir nur bekommen können, indem wir 4 + 2 + 1 hinzufügen, was bedeutet, dass der Besitzer Lese-, Schreib- und Ausführungsrechte hat. Fünf können nur durch Hinzufügen von 4 + 1 erreicht werden, was bedeutet, dass die Gruppe und andere Benutzer Lese- und Ausführungsberechtigungen haben.

Hoffentlich ist das gut Erklärung, wie man Berechtigungen in Linux unter Verwendung von Oktalzahlen darstellt. Alles in allem ziemlich einfach.

Mit chmod Berechtigungen ändern

Nachdem wir nun wissen, wie man Berechtigungen liest, wollen wir darüber reden, wie wir sie ändern können. Das einfachste Dienstprogramm, das für diesen Zweck verwendet wird, ist der Befehl chmod. So funktioniert das. Der beste Weg, den Befehl zu erklären, besteht darin, ein Beispiel zu durchlaufen.

Beginnen wir mit den Berechtigungen, über die wir oben gesprochen haben, nämlich:

-rw-rw-rw-

Wenn wir wollte die execute-Berechtigung für Besitzer, Gruppe und andere hinzufügen, könnten wir auf zwei Wegen gehen. Wir könnten die Symbolmethode oder die Oktalmethode verwenden. Für die Symbolmethode würden wir folgendes tun, wie unten gezeigt:

Der genaue Befehl ist

chmod a+x filename

Die Syntax lautet wie folgt: Der oder die Buchstaben, die den Eigentümer darstellen (u), Gruppe (g), andere (o) oder all (a) gefolgt von +zum Hinzufügen von Berechtigungen oder -zum Entnehmen von Berechtigungen und dann dem Buchstaben für die Berechtigung (rzum Lesen, wzum Schreiben und xzum Ausführen).

Im obigen Beispiel habe ich die Führe die Berechtigung für alle Benutzer aus. Das Ergebnis, wie Sie im obigen Screenshot sehen können, ist ein xfür Besitzer, Gruppe und andere. Nehmen wir an, ich wollte die Schreib- und Ausführungsrechte nur für die Gruppe und andere Benutzer entfernen.

Wie Sie hier sehen können, habe ich verwendet zu dem folgenden Befehl, um dies zu erreichen:

chmod go-wx filename

Da ich die Berechtigungen für Gruppe und andere ändern möchte, verwende ich den Buchstaben gund den Buchstaben o. Ich möchte Berechtigungen entfernen, daher verwende ich das --Zeichen. Schließlich möchte ich die Schreib- und Ausführungsberechtigungen entfernen, also verwende ich wund x. Hier ist ein praktischer kleiner Tisch zur Symbolnutzung:

Das ist also alles, was man mit der Symbolmethode machen kann. Lasst uns nun über die oktale Methode sprechen, die ich etwas einfacher finde. Octal ist nett, weil Sie alle Berechtigungen auf einmal hinzufügen oder entfernen können.

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

-rw-rw-rw-

Oben sehen Sie, dass ich den folgenden Befehl verwendet habe:

chmod 744 filename

Dies bedeutet im Grunde, dass der Besitzer die Lese- / Schreib- / Ausführungsberechtigung erhält und die Gruppe und andere Leseberechtigung erhält. Wie Sie sehen können, ist es einfach, Berechtigungen in einem einfachen Befehl hinzuzufügen oder zu entfernen. Lassen Sie uns weitermachen und sagen, ich möchte die Berechtigungen erneut ändern.

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

chmod 640 filename

Hier haben wir dem Besitzer Lese- / Schreibberechtigungen gegeben, die Gruppe Leseberechtigung und die andere Gruppe keine Berechtigungen. Sie verwenden eine Null, um keine Berechtigungen anzugeben. Ziemlich einfach, wie?

Zusammenfassend ist dies ein sehr einfacher Überblick über Linux-Berechtigungen und es kann viel komplizierter als das, aber für Anfänger ist es ein guter Anfang. Ich werde in Zukunft weitere Artikel über erweiterte Berechtigungen veröffentlichen. Wenn Sie Fragen haben, zögern Sie nicht zu kommentieren. Viel Spaß!

Linux Command Line Tutorial

Zusammenhängende Posts:


16.02.2017