Chmod

A Unix/Linux shell command to change file permissions.

chmod

Chmod

Chmod ugoa =+- rwx filename

WHO U= user G= group O= owner A= all

Or Chmod xxx filename

R = 4		Read W = 2		Write X = 1		Execute

Ie Chmod 744 file.ksh

User can 	Read 		4 Write 		+2 Execute	       +1 =7

Group can 	Read		4

Everyone can	Read		4

Wenn 4 Zahlen benutzt werden können noch weitere Sonderrecht vergeben werden.

Auch hier wird 1+2+4 addiert. 1 für "Rest der Welt", 2 für "Gruppe" und 4 für "Besitzer".

Substitute UserID Bit (SUID) "Wert": 4 - Besitzer

Dieses Recht gilt ausschließlich für ausführbare Dateien. Hat eine ausführbare Datei dieses Recht gesetzt, so erscheint in der Darstellung durch das ls -l Kommando statt dem x beim Eigentümerrecht ein s. Jeder User, der dieses Programm ausführt, tut dies unter der effektiven UserID des Users, dem die Datei geh?rt.

$ chmod 4755 test $ ls -lha test -rwsr-xr-x 1 took took 0 Mär 15 23:20 test*

Substitute GroupID Bit (SGID) "Wert": 2 - Gruppe

Dieses Recht gilt einerseits für ausführbare Dateien und andererseits für Verzeichnisse. Hat ein ausführbares Programm dieses Recht gesetzt, so gilt der gleiche Mechanismus, wie beim Substitute UserID Bit, nur diesmal eben die Gruppenmitgliedschaft betreffend. Ein User, der dieses Programm ausführt, tut dies als Gruppenmitglied der Gruppe, der das Programm gehört, statt seiner eigentlichen Gruppenkennung. Er hat also die Rechte eines Gruppenmitglieds dieser Gruppe.

$ ls -lha test -rwxr-sr-x 1 took took 0 Mär 15 23:20 test*

Hat ein Verzeichnis dieses Recht gesetzt, dann liegt der Fall etwas anders. Legt ein User, der Schreibrecht auf ein Verzeichnis hat, in diesem Verzeichnis eine Datei an, so erh?lt diese Datei normalerweise die Gruppenmitgliedschaft der prim?ren Gruppe des Users, der sie eben angelegt hat. Das f?hrt schnell zum Chaos, wenn z.B. mehrere User zusammen an einem Projekt arbeiten. Alle diese User sind Gruppenmitglieder einer bestimmten Gruppe, aber sie haben diese...?!?! hundfred: pls continue

T "Wert": 1 -rest der Welt

da steht dann t bzw T.. wat dat bedeutet... wissema noch nich

$ chmod 1755 test $ ls -lha test -rwxr-xr-t 1 took took 0 Mär 15 23:20 test* $ chmod 1754 test $ ls -lha test -rwxr-xr-T 1 took took 0 Mär 15 23:20 test*

See also: POSIX_ACL