Kategorien
miradlo -Techiethemen

Zugriffsrechte unter Linux rwx entspricht 7

Lange gab es miradlo bloggt als eigenständiges Blog. Es war ein Techieblog und sehr viele Inhalte waren völlig veraltet und nutzlos. Manches ist jedoch 2024 noch genauso wie 2009. Linuxkonsolenbefehle sind unverändert, alles was der Beitrag erwähnt, klappt nach wie vor.

Ich übernehme nach und nach einige Artikel aus dem alten Blog und überarbeite sie so weit nötig. Dieser Beitrag wurde ursprünglich auf miradlo bloggt in der Kategorie linux, von mir Ute, am 10. April 2009 veröffentlicht. Das Bild zum Artikel war völlig unbrauchbar, es war wesentlich kleiner, und auch exzessiv skaliert. Nur mit Mühe konnte man die Beispiele lesen. Das Bild habe ich neu gemacht und dabei grad getestet ob alles klappt wie beschrieben.

Zugriffsrechte bei Linux

Ich arbeite seit Mitte der Neunziger mit Linux. Die Zugriffsrechte unter Linux sind anders als bei Windows. Bei Linux ist der Grundgedanke, dass nur root alle wichtigen Dateien löschen, oder bearbeiten kann. Jede Datei und jedes Verzeichnis gehört genau zu einem Benutzer und einer Gruppe von Benutzern. root kann neue Gruppen erstellen. Jede Datei hat Lese-, Schreib- und Ausführrechte für den Benutzer, die Gruppe und alle anderen Benutzer des Systems oder eben nicht, Zugriffsbeispiel:

-rw-rw-r– 1 ute grp1 192231 May 25 14:10 machwas.sh

Die ersten 10 Zeichen beschreiben die Zugriffsrechte. Die erste Spalte der 10 Zeichen beschreibt den Dateityp.

  • – steht für eine normale Datei
  • d steht für ein Verzeichnis
  • b steht für ein blockorientiertes Gerät z.B. eine Festplatte.
  • c steht für ein zeichenorientiertes Gerät z.B. für eine Konsole

Besitzer, Gruppe, andere

Für jede Klasse von Benutzern (Besitzer, Gruppe, andere) gibt es drei Zeichen.

  • die ersten drei beschreiben die Rechte des Besitzers (user)
  • die folgenden drei beschreiben die Rechte der Gruppe und (group)
  • die letzten drei beschreiben die Rechte aller anderen User (other)
  • r steht für das Leserecht
  • w steht für Schreibzugriff
  • x steht für das Recht die Datei auszuführen
  • – zeigt, dass das entsprechende Recht nicht existiert
-rw-rw-r– 1 ute grp1 192231 May 25 14:10 machwas.sh
Konsole mit halbtransparentem blauen Hintergrund und einige Beispiele für chmod u+x,g+w dateiname.jpg
Meine Standardkonsole 2024, kde auf Manjaro Linux

Die Datei im Beispiel gehört dem Benutzer ute und ist der Gruppe1 zugeteilt. Jeder kann die Datei lesen aber nur ute und Mitglieder der Gruppe1 können die Datei verändern. Wenn ich an einem der Rechte etwas ändern möchte, dann nutze ich chmod (change mode), will ich den Besitzer der Datei ändern, nehme ich chown (change owner).

Beispiele für Zugriffsrechte


Angenommen ich möchte nicht, dass jemand außer mir die Datei lesen kann, es wäre jedoch eine ausführbare Datei, so würde ich tippen:

chmod u+x g-r o-r machwas.sh

Mein Ergebnis wäre dann:

-rwx—— 1 ute grp1 192231 May 25 14:10 machwas.sh

So weit so klar, dass finde ich logisch, das verstehe ich auch, denn:

  • u steht für user (Benutzer)
  • g für group (Gruppe)
  • o für others (alle anderen außer natürlich root)

777 für alle, dürfen alles

Wenn ich bei irgendeinem Problem mal schnell testen will, ob es ein Rechteproblem sein könnte, dann nutze ich, weil ich es mir gemerkt habe:

chmod 777 machwas.sh

Mein Ergebnis dann:

-rwxrwxrwx 1 ute grp1 192231 May 25 14:10 machwas.sh

Zugriffsrechte in Anleitungen z.B. 755

Bei vielen Anleitungen im Web steht nur sowas wie setze die Rechte auf 755 oder oder 644. Klar, woher das kommt, diese Anleitungen sollen von Windows-Nutzern nachgemacht werden, denen erst die Grundlagen der Rechte zu erklären, führt in einer Anleitung zu weit. Wer nicht weiß, was er oder sie da tut, aber eben mal der Anleitung vertraut, tippt das halt mal eben so ein.

Ich tippe nichts einfach ab, was irgendwer mir erzählt und ich kann mir diese Zahlen einfach nicht merken. Die 777 schon, aber alles andere eben nicht. Jedesmal muss ich also genauer überlegen, oder halt nachschauen, was die Zahlenkombination bedeutet:

r == 4 644 entspricht also rw-r–r–
w == 2 755 entspricht also rwxr-xr-x
x == 1 700 entspricht also rwx——

Woher kommen diese Zahlen?

Um die Rechte für den Benutzer festzulegen, braucht man drei Stellen: rwx, ebenso für die Gruppe und die Anderen.

Eine Stelle ist binär 0 oder 1, die erste Stelle ist also 1, wenn sie gesetzt ist. Kommt eine zweite Stelle hinzu, dann stellt diese die 2 dar, falls sie gesetzt ist und die dritte Stelle entspricht der 4, wenn diese gesetzt ist. Daraus ergibt sich:

  • 0 derjenige hat kein Recht
  • 1 das Recht auszuführen
  • 2 das Recht zu schreiben
  • 4 das Recht zu lesen
  • 5 lesen und ausführen
  • 6 lesen und schreiben
  • 7 lesen, schreiben und ausführen

Eigentlich doch ganz einfach.

  • 6 ist für den Eigentümer lesen und schreiben
  • 4 ist für die Gruppe lesen
  • 4 ist für alle lesen
  • für mich bleiben die Buchstaben logischer
  • -rw-r–r–

Trotzdem stutze ich immer im ersten Moment, wenn da beispielsweise steht, “setze auf 644″. Aber in Zukunft schaue ich einfach wieder hier nach. ;)

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert