ein Blog übers Web, IT, Linux, Techiekram...

Zugriffsrechte unter Linux rwx entspricht 7

  • Screenshot chmod miradlo bloggt chmod auf Konsole

Ich arbeite ja schon recht lange mit Linux. Die Zugriffsrechte unter Linux sind anders als bei Windows. Die Philosophie von Linux ist, 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
Für jede Klasse von Benutzern (Besitzer, Gruppe, andere) gibt es drei Zeichen.
  • die ersten drei beschreiben die Rechte des Besitzers
  • die folgenden drei beschreiben die Rechte der Gruppe und
  • die letzten drei beschreiben die Rechte aller anderen User
  • 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

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. 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)

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 im Web 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, siehe auch den Artikel von Bits und Bytes 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. ;-) Trotzdem stutze ich immer im ersten Moment, wenn da beispielsweise steht, "setze auf 644". Aber in Zukunft schaue ich einfach hier nach. ;-)

Noch keine Kommentare

  • Dirk Deimeke
    Dirk Deimeke  
    Ich mache mir die Sache manchmal auch leicht und setze die Rechte einfach auf 600 oder 700. (Möchtest Du auch noch etwas zu sticky bit und Konsorten schreiben?)
  • ute
    ute  
    Dirk Deimeke: setze die Rechte einfach auf 600 oder 700 Das kann ich mir doch schon wieder nicht merken. ;-) Im Ernst so richtig sicher, weiß ich die 777, alles andere klappt, wenn ich mich grad mal wieder damit befasse, aber einige Wochen später sind die Zahlen weg und ich nehme doch mein gewohntes u+x oder so. Dirk Deimeke: Möchtest Du auch noch etwas zu sticky bit und Konsorten schreiben? Nein, ich habe da selten mal was gebraucht, deshalb müsste ich selbst erstmal nachlesen. Mir gehts hier eher so um die ersten Grundlagen. Aber wie ist es mit dir, du gehst doch da sicher öfter damit um?
  • Dirk Deimeke
    Dirk Deimeke  
    Ich brauche das auch eher selten. Interessant ist es aber beispielsweise, wenn man sich die Rechte von /tmp einmal anschaut. Der Ordner gehört root, alle dürfen rein schreiben und die Dateien behalten die eigenen Berechtigungen (inklusive umask). Hier - http://www.selflinux.org/selflinux/html/grundlagen_sicherheit07.html - ist das ganz gut erklärt.
  • ute
    ute  
    Dirk Deimeke: Interessant ist es aber beispielsweise, wenn man sich die Rechte von /tmp einmal anschaut. Der Ordner gehört root, alle dürfen rein schreiben und die Dateien behalten die eigenen Berechtigungen (inklusive umask). Darüber haben wir (Roland und ich) auch schon gesprochen, aber hier ist es so, dass es bereits bei der Standardinstallation so gesetzt ist. Deshalb muss es nicht selbst gesetzt werden. Ich erinnere mich ganz dunkel, dass wir es ein oder zweimal irgendwann gebraucht haben. Danke für den Link, dann ist hier gleich noch ein passender Hinweis, wenn man es doch mal braucht.

Kommentar schreiben

Gravatar, Twitter, Favatar Autoren-Bilder werden unterstützt.
Die angegebene E-Mail-Adresse wird nicht dargestellt, sondern nur für eventuelle Benachrichtigungen verwendet.
Um einen Kommentar hinterlassen zu können, erhalten Sie nach dem Kommentieren eine E-Mail mit Aktivierungslink an ihre angegebene Adresse.
BBCode-Formatierung erlaubt
Standard-Text Smilies wie :-) und ;-) werden zu Bildern konvertiert.