Wenn Sie Linux schon länger verwenden (und sogar OS X), ist wahrscheinlich ein Fehler aufgetreten. Aber was genau sind sie und warum sind sie notwendig oder nützlich? Werfen wir einen Blick nach innen.

Nutzerberechtigung

Damals waren Computer riesige Maschinen, die unglaublich teuer waren. Um das Beste aus ihnen herauszuholen, wurden mehrere Computerterminals angeschlossen, so dass viele Benutzer gleichzeitig ihren Geschäften nachgehen konnten. Die Datenverarbeitung und -speicherung erfolgte auf der Maschine, während die Terminals selbst kaum mehr als ein Mittel zum Anzeigen und Eingeben von Daten waren. Wenn Sie darüber nachdenken, greifen wir so ziemlich auf die Daten in der „Cloud“ zu. Schauen Sie sich das Cloud-MP3-System von Amazon, Gmail und Dropbox an. Sie werden feststellen, dass Änderungen lokal vorgenommen werden können, während alle Daten remote gespeichert werden.

(Bild: Zenith Z-19-Terminal "dumm"; Kredit: ajmexico)

Damit dies funktioniert, müssen einzelne Benutzer über Konten verfügen. Ihnen muss ein Abschnitt des Speicherbereichs zugewiesen werden, und es muss ihnen erlaubt sein, Befehle und Programme auszuführen. Jeder erhält bestimmte "Benutzerberechtigungen", die festlegen, was er tun kann und wo nicht, wo er auf dem System Zugriff hat und keinen Zugriff hat und dessen Dateien er ändern kann. Jeder Benutzer wird auch in verschiedene Gruppen eingeteilt, die weiteren Zugriff gewähren oder einschränken.

Dateizugriff

In dieser verrückten Welt mit mehreren Benutzern haben wir bereits Grenzen gesetzt, was die Benutzer tun können. Aber was ist mit dem, worauf sie zugreifen? Nun, jede Datei hat eine Reihe von Berechtigungen und einen Besitzer. Die Besitzerkennung, die normalerweise beim Erstellen der Datei gebunden ist, gibt an, zu welchem ​​Benutzer sie gehört, und nur dieser Benutzer kann seine Zugriffsberechtigungen ändern.

In der Linux-Welt werden Berechtigungen in drei Kategorien unterteilt: Lesen, Schreiben und Ausführen. Beim Lesezugriff kann der Inhalt einer Datei angezeigt werden, beim Schreibzugriff kann der Inhalt einer Datei geändert werden, und beim Ausführen kann eine Reihe von Anweisungen wie ein Skript oder ein Programm ausgeführt werden. Jede dieser Kategorien wird auf verschiedene Klassen angewendet: Benutzer, Gruppe und Welt. "Benutzer" bedeutet den Eigentümer, "Gruppe" bedeutet jeden Benutzer, der sich in derselben Gruppe befindet wie der Eigentümer, und "Welt" bedeutet jeden und jeden.

Ordner können auch mit diesen Berechtigungen eingeschränkt werden. Sie können beispielsweise zulassen, dass andere Personen in Ihrer Gruppe Verzeichnisse und Dateien in Ihrem Basisordner anzeigen, nicht jedoch Personen außerhalb Ihrer Gruppe. Wahrscheinlich möchten Sie den Schreibzugriff auf sich selbst beschränken, sofern Sie nicht an einem freigegebenen Projekt arbeiten. Sie können auch ein freigegebenes Verzeichnis erstellen, in dem alle Dateien in diesem Ordner angezeigt und geändert werden können.

Berechtigungen in Ubuntu ändern

GUI

Um die Berechtigungen einer Datei zu ändern, die Sie in Ubuntu besitzen, klicken Sie mit der rechten Maustaste auf die Datei und gehen Sie zu "Eigenschaften".

Sie können ändern, ob der Eigentümer, die Gruppe oder andere Personen lesen und schreiben, nur lesen oder nichts tun können. Sie können auch ein Kontrollkästchen aktivieren, um die Ausführung der Datei zuzulassen, und dies wird für Besitzer, Gruppe und andere Benutzer gleichzeitig aktiviert.

Befehlszeile

Sie können dies auch über die Befehlszeile tun. Wechseln Sie in ein Verzeichnis, in dem sich Dateien befinden, und geben Sie den folgenden Befehl ein, um alle Dateien in einer Liste anzuzeigen:

ls -al

Neben jeder Datei und jedem Verzeichnis wird ein spezieller Abschnitt angezeigt, in dem die Berechtigungen aufgeführt sind. Es sieht aus wie das:

-rwxrw-r–

Das r steht für "lesen", das w steht für "schreiben" und das x steht für „Ausführen“. Verzeichnisse beginnen mit einem „d“ anstelle eines „-“. Sie werden auch feststellen, dass es 10 Leerzeichen gibt, die Werte enthalten. Sie können den ersten ignorieren, und dann gibt es 3 Sätze von 3. Der erste Satz ist für den Eigentümer, der zweite Satz ist für die Gruppe und der letzte Satz ist für die Welt.

Um die Berechtigungen einer Datei oder eines Verzeichnisses zu ändern, betrachten wir die grundlegende Form des Befehls chmod.

chmod [class][operator][permission] file

chmod [ugoa][+ or –] [rwx] file

Das mag auf den ersten Blick kompliziert erscheinen, aber glauben Sie mir, es ist ziemlich einfach. Zuerst schauen wir uns die Klassen an:

  • o: Dies ist für den Besitzer.
  • g: Dies ist für die Gruppe.
  • o: Dies ist für alle anderen.
  • a: Dies ändert die Berechtigungen für alle oben genannten.

Als nächstes die Betreiber:

  • +: Das Pluszeichen fügt die folgenden Berechtigungen hinzu.
  • -: Das Minuszeichen entfernt die folgenden Berechtigungen.

Immer noch bei mir? Und der letzte Abschnitt ist derselbe wie bei der Überprüfung der Berechtigungen einer Datei:

  • r: Erlaubt Lesezugriff.
  • w: Erlaubt Schreibzugriff.
  • x: Erlaubt die Ausführung.

Lassen Sie uns es jetzt zusammenstellen. Angenommen, wir haben eine Datei mit dem Namen "todo.txt", die folgende Berechtigungen hat:

-rw-rw-r–

Das heißt, der Besitzer und die Gruppe können lesen und schreiben, und die Welt kann nur lesen. Wir möchten die Berechtigungen auf diese ändern:

-rwxr—–

Das heißt, der Besitzer hat volle Berechtigungen und die Gruppe kann lesen. Wir können dies in 3 Schritten tun. Zuerst fügen wir die Ausführungsberechtigung für den Benutzer hinzu.

chmod u+x todo.txt

Dann entfernen wir die Schreibberechtigung für die Gruppe.

chmod g-w todo.txt

Als letztes entfernen wir die Leseberechtigungen für alle anderen Benutzer.

chmod o-r todo.txt

Wir können diese auch in einem Befehl kombinieren:

chmod u+x,g-w,o-r todo.txt

Sie können sehen, dass jeder Abschnitt durch Kommas getrennt ist und keine Leerzeichen vorhanden sind.

Hier sind einige nützliche Berechtigungen:

  • -rwxr-xr-x: Der Besitzer verfügt über alle Berechtigungen, Gruppen- und andere Benutzer können Dateiinhalte lesen und ausführen.
  • -rwxr –r–: Der Besitzer verfügt über vollständige Berechtigungen. Gruppen- und andere Benutzer können nur Dateien lesen (nützlich, wenn andere Benutzer Ihre Dateien nicht stören.
  • -rwx—: Besitzer besitzt volle Berechtigungen, alle anderen haben keine Berechtigungen (nützlich für persönliche Skripte).
  • -rw-rw—-: Besitzer und Gruppe können lesen und schreiben (nützlich für die Zusammenarbeit mit Gruppenmitgliedern).
  • -rw-r –r–: Der Besitzer kann lesen und schreiben, Gruppen und andere Benutzer können nur Dateien lesen (nützlich zum Speichern persönlicher Dateien in einem gemeinsam genutzten Netzwerk).
  • -rw -: Besitzer kann lesen und schreiben, alle anderen haben keine (nützlich zum Speichern persönlicher Dateien).

Es gibt ein paar andere Möglichkeiten, die Sie mit chmod machen können - wie setuid und setgid -, aber sie sind etwas ausführlicher und werden von den meisten Benutzern sowieso nicht wirklich verwendet.

Die Root- oder Super-User- und Systemdateien

Heutzutage führen wir nicht immer Systeme mit mehreren Benutzern aus. Warum sollten wir uns noch um Berechtigungen kümmern?

Nun, bei Unix und seinen Derivaten - unter anderem Linux, OS X - wird auch unterschieden, was vom Benutzer ausgeführt wird, vom Administrator oder mit Administratorrechten und vom System selbst. Daher benötigen Dinge, die für das System wesentlich sind, Administratorrechte, um geändert oder darauf zugegriffen zu werden. Auf diese Weise verwirren Sie nichts aus Versehen.

Um Änderungen an Systemdateien vorzunehmen, verwenden Sie in Ubuntu "sudo" oder "gksudo", um Administratorrechte zu erhalten. In anderen Distros wechseln Sie zu "root" oder dem "Super-User", der dasselbe tut, bis Sie sich abmelden.

Beachten Sie, dass in beiden Fällen das Ändern von Dateiberechtigungen dazu führen kann, dass Programme nicht funktionieren, dass der Eigentümer der Datei unbeabsichtigt den Root-Benutzer (und nicht den Eigentümer) ändert und das System dadurch weniger sicher ist (durch das Erteilen von mehr Berechtigungen). Es wird daher empfohlen, die Berechtigungen für Dateien - insbesondere Systemdateien - nicht zu ändern, es sei denn, dies ist erforderlich oder Sie wissen, was Sie tun.


Dateiberechtigungen sind vorhanden, um ein grundlegendes Sicherheitssystem für Benutzer bereitzustellen. Wenn Sie wissen, wie sie funktionieren, können Sie grundlegende Freigaben in einer Umgebung mit mehreren Benutzern einrichten, "öffentliche" Dateien schützen und einen Hinweis darauf geben, wann ein Problem mit dem Besitz von Systemdateien auftritt.

Glaubst du, du kannst die Dinge leichter erklären? Korrektur haben? Möchten Sie sich an alte Zeiten erinnern? Machen Sie eine Pause und schreiben Sie Ihre Gedanken in die Kommentare.

Top-Tipps:
Kommentare: