09.04.2014 Aufrufe

Linux Essentials//Die Einsteiger-Zertifizierung des LPI - Linup Front ...

Linux Essentials//Die Einsteiger-Zertifizierung des LPI - Linup Front ...

Linux Essentials//Die Einsteiger-Zertifizierung des LPI - Linup Front ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

206 14 Zugriffsrechte<br />

nem Benutzer als Eigentümer zugeordnet. <strong>Die</strong>s ist in der Regel der Benutzer, der<br />

den Prozess gestartet hat – auch hier haben Prozesse, die mit Administratorrechten<br />

gestartet wurden, die Möglichkeit, ihre Identität zu ändern, und der SUID-<br />

Mechanismus (Abschnitt 14.4) kann hier ebenfalls eingreifen.<br />

<strong>Die</strong> Eigentümer der Prozesse werden vom Programm ps angezeigt, wenn es<br />

mit der Option -u aufgerufen wird.<br />

# ps -u<br />

USER PID %CPU %MEM SIZE RSS TTY STAT START TIME COMMAND<br />

bin 89 0.0 1.0 788 328 ? S 13:27 0:00 rpc.portmap<br />

test1 190 0.0 2.0 1100 28 3 S 13:27 0:00 bash<br />

test1 613 0.0 1.3 968 24 3 S 15:05 0:00 vi XF86.tex<br />

nobody 167 0.0 1.4 932 44 ? S 13:27 0:00 httpd<br />

root 1 0.0 1.0 776 16 ? S 13:27 0:03 init [3]<br />

root 2 0.0 0.0 0 0 ? SW 13:27 0:00 (kflushd)<br />

14.4 Besondere Zugriffsrechte für ausführbare Dateien<br />

Beim Auflisten der Dateien mit dem Befehl »ls -l« bekommen Sie bei manchen<br />

Dateien neben den bekannten Zugriffsrechten rwx abweichende Anzeigen wie<br />

-rwsr-xr-x 1 root shadow 32916 Dec 11 20:47 /usr/bin/passwd<br />

Was soll das? Hierzu müssen wir etwas weiter ausholen:<br />

Angenommen, das Programm passwd sei mit folgenden Zugriffsrechten versehen:<br />

-rwxr-xr-x 1 root shadow 32916 Dec 11 20:47 /usr/bin/passwd<br />

SUID-Bit<br />

Ein normaler (unprivilegierter) Benutzer, sagen wir mal hugo, möchte nun sein<br />

Kennwort ändern und ruft das Kommando passwd auf. Als nächstes erhält er die<br />

Meldung “permission denied”. Was ist die Ursache? Der passwd-Prozess (der mit den<br />

Rechten von hugo läuft) versucht die Datei /etc/shadow zum Schreiben zu öffnen<br />

und scheitert natürlich, da nur root die erforderliche Schreibberechtigung besitzt<br />

– dies darf auch nicht anders sein, sonst könnte jeder die Kennwörter beliebig<br />

manipulieren, etwa um das root-Kennwort zu ändern.<br />

Mit Hilfe <strong>des</strong> Set-UID-Bits (oft kurz »SUID-Bit« genannt) kann dafür gesorgt<br />

werden, dass ein Programm nicht mit den Rechten <strong>des</strong> Aufrufers, sondern <strong>des</strong> Dateieigentümers<br />

– hier root – ausgeführt wird. Im Fall von passwd hat der Prozess, der<br />

passwd ausführt, also Schreibrecht auf die Datei /etc/shadow, obwohl der aufrufende<br />

Benutzer als Nicht-Systemadministrator dieses Schreibrecht sonst nicht hat. Es<br />

liegt in der Verantwortung <strong>des</strong> Programmierers von passwd, dafür zu sorgen, dass<br />

mit diesem Recht kein Schindluder getrieben wird, etwa indem Programmierfehler<br />

ausgenutzt werden, um beliebige Dateien außer /etc/shadow zu manipulieren<br />

oder andere Einträge in /etc/shadow außer dem Kennwortfeld <strong>des</strong> aufrufenden Benutzers<br />

zu verändern. Unter <strong>Linux</strong> funktioniert der Set-UID-Mechanismus übrigens<br />

nur für Maschinencode-Programme, nicht für Shell- oder andere Interpreter-<br />

Skripte.<br />

B<br />

<strong>Die</strong> Bell Labs hatten eine Weile lang ein Patent auf den – von Dennis Ritchie<br />

erfundenen – SUID-Mechanismus [SUID]. AT&T hatte Unix zuerst nur<br />

unter der Voraussetzung verteilt, dass nach der Erteilung <strong>des</strong> Patents Lizenzgebühren<br />

erhoben werden würden; wegen der logistischen Schwierigkeit,<br />

Jahre später von Hunderten von Unix-Installationen rückwirkend kleine<br />

Geldbeträge einzutreiben, entschloss man sich jedoch, das Patent der Allgemeinheit<br />

zur Verfügung zu stellen.<br />

Copyright © 2012 <strong>Linup</strong> <strong>Front</strong> GmbH

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!