Chmod

Aus Foxwiki


Bezeichnung

chmod (Change mode) ändert Zugriffsrechte von Dateien und Ordnern.

Übersicht

chmod [optionen] mode datei

mode steht für die anzuwendende Rechtemaske. Diese kann numerisch oder symbolisch geschehen.

Symbolisch:

Hier werden die Zugriffsrechte und Benutzerkategorien mit Buchstaben zugeordnet. Die Angabe im symbolischen Modus ist wie folgt aufgebaut: [Benutzerkategorie][Operator][Rechte]

z.B.:

chmod -v u+rwx datei.txt

Benutzerkategorie

  • u = Besitzer
  • g = Gruppe
  • o = Andere
  • a = All (Besitzer, Gruppe und Andere)

Operator

  • + Rechte hinzufügen
  • – Rechte entfernen
  • = Rechte explizit setzen

Rechte

  • r = Lesen
  • w = Schreiben
  • x = Ausführen

Numerisch (Oktal):

Hier werden die Zugriffsrechte mit einer dreistelligen Oktalzahl angegeben, jede Ziffer entspricht einer Benutzerkategorie

z.B.:

chmod -v 777 datei.txt

Benutzerkategorie

  • Erste Stelle = Besitzer
  • Zweite Stelle = Gruppe
  • Dritte Stelle = Andere

Rechte

  • 7 = Voll
  • 6 = Lesen und Schreiben
  • 5 = Lesen und Ausführen
  • 4 = Nur Lesen
  • 3 = Schreiben und Ausführen
  • 2 = Nur Schreiben
  • 1 = Nur Ausführen
  • 0 = Keine

Optionen

Option Beschreibung
-c Wie „-v“ aber nur, wenn auch etwas geändert wird
-f Unterdrückt Fehlermeldungen (–silent, –quiet)
-R Steht für „rekursiv“. Mit diesem Schalter werden alle Ordner und Unterordner inkl. Dateien geändert
-v Steht für “verbose”


Beispiele

1. Ändert die Rechte der Datei auf Lesen, Schreiben und Ausführen für Besitzer, Gruppe und Andere im im Oktalmodus.

chmod 777 datei.txt


2. Ändert die Rechte der Datei auf Lesen, Schreiben und Ausführen für Besitzer, Gruppe und Andere im symbolischen Modus.

chmod a+rwx datei.txt


3. Macht eine Datei zusätzlich für alle ausführbar.

chmod +x script.sh


4. Setz die Dateirechte rekursiv auf 700 im Ordner /abc/def, also auf alle Dateien und Ordner die sich in /abc/def befinden.

chmod -R 700 /abc/def


5. Setz explizit die rechte für Besitzer und Gruppe auf lesen und schreiben und andere dürfen nur lesen.

chmod u=rw,g=rw,o=r datei.txt


Special Rights

Um den Zugriff noch genauer zu regeln, gibt es drei weitere Schutzbit.


SUID | SGID | STI R | W | X R | W | X R | W | X
special rights User Group Others

Set User ID (SUID)

Ist das SUID-Bit gesetzt behält das Programm die Rechte des Programmeigentümers während der Ausführung.


Setzen

chmod u+s datei


Anzeige

Wenn Ausführunsrecht(x) gesetzt: als kleines 's'

-rwsr-xr-x

Wenn Ausführunsrecht(x) nicht gesetzt: als großes 'S'

-rwSr-xr-x

Set Group ID (SGID)

Ist das SGID-Bit gesetzt behält das Programm die Rechte der Gruppe zu der es gehört.

Bei Dateien ohne Ausführungsrecht sorgt dieses Bit dafür, dass die Datei nur von einem Prozess geöffnet werden kann.

Bei Verzeichnissen sorgt das SGID-Bit dafür das Dateien, die in das Verzeichnis kopiert oder erstellt werden, automatisch die Gruppe des Verzeichnisses erhalten.


Setzen

chmod g+s datei


Anzeige

Wenn Ausführunsrecht(x) gesetzt: als kleines 's'

-rwxrwsr-x

Wenn Ausführunsrecht(x) nicht gesetzt: als großes 'S'

-rwxrwSr-x

STICKY Bit (STI)