chmod

Mal kurz was zu 'chmod' und wie man damit die Zugriffsrechte von
Dateien aendert.
'chmod' erlaubt wie gesagt das Aendern der Zugriffsrechte einer (oder
mehrerer) Dateien. Die Rechte an einer Datei duerfen nur der Besitzer
der Datei oder root (UID == 0) aendern. 'chmod' erkennt zwei Arten der
Rechteaenderung:
 * die symbolische und
 * die oktale Schreibweise
Bei der symolischen Schreibweise wird nach der folgenden Syntax
gearbeitet:

| $ chmod [ugoa][+-=][rwxs]
 
'u' = Benutzer (User)
'g' = Gruppe (Group)
'o' = Rest (Other)
'a' = Alles zusammen (All)
'+' = Rechte Addieren
'-' = Rechte Entziehen
'=' = Rechte absolut setzen
'r' = Lesen (Read)
'w' = Schreiben (Write)
'x' = Ausfuehren (Execute)
's' = Set-User-Bit bzw. Set-Group-Bit

Mehrere symbolische Aenderungen koennen durch Kommata getrennt im
ersten Parameter angegeben werden.

Bei der oktalen Schreibweise ist jedem recht ein oktaler Wert
zugewiesen. Die einzelnen Oktalwerte koennen zu einer Rechtemaske
addiert werden. Die Rechtemaske ist immer absolut und nimmt keine
Ruecksicht auf den vorhergehenden Wert der Zugriffsrechte. Es sind
folgende Oktalwerte moeglich:

'4000'  Set-User-Bit
'2000'  Set-Group-Bit
'1000'  Sticky-Bit (normale User koennen das nur bei Verzeichnissen
        setzen.
'0400'  Leserecht fuer den Besitzer
'0200'  Schreibrecht fuer den Besitzer
'0100'  Ausfuehrrecht fuer den Besitzer
'0040'  Leserecht fuer die Gruppe
'0020'  Schreibrecht fuer die Gruppe
'0010'  Ausfuehrungsrecht fuer die Gruppe
'0004'  Leserecht fuer alle!
'0002'  Schreibrecht fuer alle!
'0001'  Ausfuehrungsrecht fuer alle!

Mal ein paar Beispiele:
Die Ausfuehrungsrechte fuer den Besitzer auf die Datei 'foobar'
vergeben:
 | $ chmod u+x foobar
 | $ chmod 0100 foobar

Das Verzeichnis 'p0rn' soll die Zugriffsrechte rwxr-xr-x erhalten:
 | $ chmod u=rwx,go=rx p0rn
 | $ chmod 755 p0rn

Die Leserechte fuer die Gruppe wegnehmen und die Ausfuehrungsrechte
fuer alle anderen vergeben:
 | $ chmod g-r,o+x brain
 | $ chmod 0751 brain

$Id: chmod.html,v 1.1 2003/06/02 22:31:45 dope Exp $
Send comments to strcat@gmx.net.