05.11.2013 Aufrufe

Zahn - Unix-Netzwerkprogramminerung mit Threads, Sockets und SSL

Zahn - Unix-Netzwerkprogramminerung mit Threads, Sockets und SSL

Zahn - Unix-Netzwerkprogramminerung mit Threads, Sockets und SSL

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

78 2 Programmieren <strong>mit</strong> <strong>Unix</strong>-Prozessen<br />

$ ps -ef | grep -E "UID|ksh"<br />

UID PID PPID C STIME TTY TIME CMD<br />

zahn 20770 21096 0 12:14:44 pts/0 0:00 -ksh<br />

$ id<br />

uid=518(zahn) gid=600(rz) groups=1998(spusers)<br />

$ ./show-ids<br />

Prozeß-ID (PID) = 26072<br />

Elternprozeß-ID (PPID) = 20770<br />

User-ID (UID) = 518<br />

effektive User-ID (EUID) = 518<br />

Group-ID (GID) = 600<br />

effektive Group-ID (EGID) = 600<br />

Anders sieht es aus, wenn wir vor dem Aufruf des Programms <strong>mit</strong> chmod das<br />

Set-User-ID Bit <strong>und</strong> das Set-Group-ID Bit gesetzt haben <strong>und</strong> <strong>mit</strong> su zu einer<br />

anderen Benutzerkennung – z. B. zur Administratorkennung root – gewechselt<br />

sind:<br />

$ chmod u+s,g+s show-ids<br />

$ ls -al show-ids<br />

-rwsr-s--- 1 zahn rz 6075 Dec 26 14:14 show-ids<br />

$ su -<br />

$ ps -ef | grep -E "UID|ksh"<br />

UID PID PPID C STIME TTY TIME CMD<br />

zahn 20770 21096 0 12:14:44 pts/0 0:00 -ksh<br />

root 26070 20770 0 14:17:40 pts/0 0:00 -ksh<br />

$ id<br />

uid=0(root) gid=0(system) groups=2(bin),3(sys),7(security)<br />

$ ./show-ids<br />

Prozeß-ID (PID) = 29338<br />

Elternprozeß-ID (PPID) = 26070<br />

User-ID (UID) = 0<br />

effektive User-ID (EUID) = 518<br />

Group-ID (GID) = 0<br />

effektive Group-ID (EGID) = 600<br />

Wie erwartet entsprechen auch hier die ausgegebene User- <strong>und</strong> Group-ID der<br />

User- <strong>und</strong> Group-ID des aufrufenden Benutzers. Die EUID <strong>und</strong> die EGID<br />

stimmen allerdings nicht mehr <strong>mit</strong> der UID <strong>und</strong> der GID überein. Aufgr<strong>und</strong><br />

der <strong>mit</strong> chmod gesetzten Bits wurde dem Prozeß also vom Betriebssystem beim<br />

Start eine andere effektive User- <strong>und</strong> Group-ID <strong>mit</strong>gegeben. Der gestartete<br />

Prozeß besitzt da<strong>mit</strong> andere Zugriffsrechte innerhalb des Systems, als sie dem<br />

aufrufenden Benutzer vom System eingeräumt werden.<br />

Auch das Programm su muß übrigens das Set-User-ID Bit gesetzt haben.<br />

Andernfalls könnte das Kommando nicht, wie eben gesehen, bei Eingabe des<br />

richtigen Paßworts die Benutzerkennung wechseln.

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!