Zugriffsberechtigungen: „ugo=rwx“ oder doch „777“?

Maximilian Reinke

Entwicklungsstrategie

In der Linux-Welt spielt die Verwaltung von Datei- und Ordnerberechtigungen eine zentrale Rolle. Zwei der gebräuchlichsten Methoden zur Anpassung dieser Berechtigungen sind die symbolische und die numerische Schreibweise von chmod. Beide liefern das gleiche Ergebnis, aber die Art und Weise, wie sie ihre Aufgabe erfüllen, unterscheidet sich erheblich. In diesem Beitrag beleuchten wir die Unterschiede und Gemeinsamkeiten dieser beiden Ansätze und erklären, wie sie in der Praxis angewendet werden.

Symbolische Schreibweise: chmod ugo=rwx script.sh

Die symbolische Methode, mit der Berechtigungen festgelegt werden, ist intuitiv und verwendet Buchstaben, die Benutzerkategorien und Berechtigungen klar und verständlich machen. Das Kommando chmod ugo=rwx script.sh gewährt dem Benutzer (u), der Gruppe (g) und allen anderen (o) vollständige Berechtigungen – also Lese- (r), Schreib- (w) und Ausführungsrechte (x) – für die Datei script.sh.

Im Detail bedeutet das:

  • u steht für den Eigentümer (user) der Datei,
  • g für die Gruppe (group), und
  • o für alle anderen Nutzer (others).

Durch die Verwendung des =-Operators werden die Rechte vollständig neu gesetzt. Es ist jedoch auch möglich, Zugriffsrechte gezielt hinzuzufügen oder zu entfernen, ohne alle Rechte zu überschreiben. Dafür stehen die Operatoren + und - zur Verfügung.

chmod u=rwx,g-x,o+w script.sh

In diesem Fall bekommt der Eigentümer der Datei (u) alle Rechte (rwx), der Gruppe (g) wird das Ausführungsrecht (x) entzogen, und allen anderen (o) wird das Schreibrecht (w) erteilt.

Numerische Schreibweise: chmod 777 script.sh

Die numerische Methode, um Berechtigungen festzulegen, verwendet eine Kombination von Ziffern, die auf den ersten Blick weniger verständlich erscheinen mag. Dennoch ist sie sehr kompakt und effizient, besonders bei komplexeren Berechtigungen.

Jede Ziffer in der numerischen Schreibweise repräsentiert die Berechtigungen einer bestimmten Benutzerkategorie:

  • Die erste Ziffer steht für die Berechtigungen des Besitzers (user),
  • die zweite Ziffer für die Gruppe (group),
  • und die dritte Ziffer für alle anderen (others).

Die Ziffern basieren auf einer binären Darstellung der Berechtigungen:

  • r (read) = 4
  • w (write) = 2
  • x (execute) = 1

Diese Werte werden addiert, um die entsprechenden Rechte darzustellen. So ergibt beispielsweise:

  • rwx (Lesen, Schreiben, Ausführen) = 4 + 2 + 1 = 7,
  • rw- (Lesen, Schreiben, kein Ausführen) = 4 + 2 = 6,
  • r-x (Lesen, kein Schreiben, Ausführen) = 4 + 1 = 5.

Das Kommando chmod 777 script.sh bedeutet somit, dass sowohl der Besitzer der Datei als auch die Gruppe und alle anderen Benutzer vollständige Berechtigungen (rwx) haben. Der Vorteil dieser Methode liegt in ihrer kompakten Schreibweise.

Berechtigungen im Detail: Beispiel chmod 731 script.sh

Ein anderes Beispiel, das die numerische Methode illustriert, ist der Befehl:

chmod 731 script.sh

Hier bedeutet die 7 für den Benutzer vollständige Rechte (rwx), die 3 für die Gruppe Schreib- und Ausführungsrechte (wx), aber keine Leserechte, und die 1 für alle anderen nur das Ausführungsrecht.

Dieser Befehl zeigt die Stärke der numerischen Methode, da er schnell und präzise festlegt, welche Benutzergruppen welche Rechte haben. Obwohl es auf den ersten Blick weniger offensichtlich erscheint, erlaubt die numerische Methode eine sehr präzise Steuerung der Berechtigungen.

Ausgabe des Befehls ls -l

Um die Zugriffsberechtigungen einer Datei zu überprüfen, kann der Befehl ls -l verwendet werden. Die Ausgabe könnte zum Beispiel so aussehen:

-rwxr-xr--

Das erste Zeichen - zeigt an, dass es sich um eine Datei handelt (bei Verzeichnissen würde ein d angezeigt). Die folgenden neun Zeichen sind in Dreiergruppen aufgeteilt und repräsentieren die Zugriffsrechte:

  • Die erste Gruppe (rwx) steht für die Rechte des Benutzers,
  • die zweite Gruppe (r-x) für die Gruppe, und
  • die dritte Gruppe (r--) für alle anderen.

Symbolische vs. numerische Schreibweise: Ein Vergleich

Beide Methoden haben ihre Vor- und Nachteile. Die symbolische Methode ist verständlicher, da sie mit Buchstaben arbeitet, die klar zeigen, welche Berechtigungen hinzugefügt, entfernt oder gesetzt werden. Sie eignet sich gut, wenn man einzelne Berechtigungen ändern möchte, ohne die gesamten Rechte zu überschreiben.

Die numerische Methode hingegen ist kompakter und effizienter, insbesondere wenn man mehrere Rechte auf einmal setzen möchte. Für fortgeschrittene Benutzer, die mit der binären Logik vertraut sind, kann die numerische Methode sehr schnell und leistungsstark sein.

Fazit

Egal, ob Sie die symbolische oder die numerische Methode bevorzugen – beide führen zum gleichen Ergebnis. Die Wahl hängt von den persönlichen Vorlieben und der jeweiligen Situation ab. Die symbolische Methode eignet sich gut für präzise Änderungen an den Berechtigungen einzelner Benutzergruppen, während die numerische Methode kompakter ist und sich besonders gut für schnelle, allgemeine Berechtigungsanpassungen eignet.

Sobald Sie die Grundlagen verstanden haben, wird die tägliche Arbeit mit Zugriffsberechtigungen unter Linux zu einem effizienten und sicheren Prozess. Beide Ansätze haben ihre Stärken, und es ist sinnvoll, beide zu beherrschen, um flexibel auf unterschiedliche Anforderungen reagieren zu können.

Zurück

Kontaktieren Sie uns

Wir melden uns schnellstmöglich, um Sie bei Ihrem Anliegen zu unterstützen.
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.