howto:chmod

OS: Linux

Problem

Wie funktioniert schon wieder chmod?

Lösung

Es gibt 2 Arten wie man chmod benutzen kann.

  1. chmod mit Zahl aufrufen:

Die Zahl ist immer 3-stellig wobei jede Ziffer die gleiche Bedeutung hat aber für einen anderen Bereich gilt.

Bereich User (u) (ganz links): Berechtigung die der Eigentümer der Datei hat Bereich Group (g) (mitte): Berechtigung die die Gruppenmitglieder haben Bereich Others (o) (rechts): Berechtigung die alle anderen haben.

cwacha@lapis:~$ ls -la public
-rwxr--r--    6 cwacha   profis       4096 2004-02-28 10:23 public
       ^^^
        '--- (o) Rechte für den Rest der Welt
    ^^^
     '------ (g) Gruppenrechte
 ^^^
  '--------- (u) Eigentümerrechte

Dabei steht rwx für die tatsächlichen Rechte. r (read) für Leseberechtigung, w (write) für schreiben und x (eXecute) für ausführen. Im obigen Beispiel ist der Eigentümer „cwacha“ und hat sämtliche Rechte (rwx). Die Datei gehört der Gruppe „profis“ welche die Datei nur lesen können (r–). Alle anderen können die Datei ebenfalls nur lesen (r–). Jedem Buchstabe wird nun eine Zahl zugeordnet. Die totalen Rechte erhält man durch addieren der Zahlen. Wenn das Attribut nicht gesetzt ist, hat es den Wert 0.

  • r = 4
  • w = 2
  • x = 1

Alle 3 zusammen haben also den Wert 1+2+4 = 7 für den Eigentümer. Die Zahl bei chmod setzt sich genau aus diesen 3 Ziffern zusammen. Im Beispiel oben wäre die Zahl also 744. Auf der Kommandozeile gibt man dann ein:

chmod 744 public

Normalerweise werden normale Dateien so eingestellt, dass der Eigentümer lesen und schreiben kann und die andern nur lesen. Das ginge dann so:

chmod 644 meinedatei

Analog dazu für ausführbare Programme:

chmod 755 meinprogramm.

Beachte auch dass jede x-beliebige Textdatei im Nu zum „Programm“ wird, sobald das X-Attribut gesetzt wird. Normalerweise führt das dann aber zu einer Fehlermeldung.

  1. Es gibt noch eine andere Möglichkeit die Berechtigungen mit chmod einzustellen.

In der Manpage sind die aber etwas kompliziert erklärt. Anstatt Zahlen einzugeben gibt man Buchstaben Kombinationen ein.

  • u steht für User
  • g steht für Gruppe
  • o steht für Andere

Danach folgt + oder - um anzugeben ob das Attribut gesetzt (+) oder gelöscht (-) wird. Zu guter letzt die Berechtigungen r, w, x.

Um der Gruppe Schreibberechtigung zu erteilen gibt man folgendes ein:

chmod g+w meinedatei

Um den anderen alle Rechte wegzunehmen:

chmod o-rwx meinedatei

:!: Um die Berechtigugen einer Datei zu ändern muss man selbst Schreibrechte auf die Datei haben. Ausserdem hindert einem das System nicht sich selbst die Schreibberechtigungen wegzunehmen. Und wenn man die nicht mehr hat, kann die Operation auch nicht rückgängig machen.

:!: Bei Verzeichnissen muss das X-Attribut UND Das R-Attribut gesetzt sein.

  • howto/chmod.txt
  • Zuletzt geändert: 16.11.2016 23:18 (vor 8 Jahren)
  • von 127.0.0.1