Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung | |||
howto:suid [26.01.2006 16:48 (vor 19 Jahren)] – cwacha | howto:suid [16.11.2016 23:18 (vor 8 Jahren)] (aktuell) – Externe Bearbeitung 127.0.0.1 | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | ===== SUID Root ===== | ||
+ | OS: Linux | ||
+ | |||
+ | === Problem === | ||
+ | Was heisst SUID Root? | ||
+ | |||
+ | === Lösung === | ||
+ | |||
+ | SUID ist ein Datei Attribut, das mit chmod gesetzt werden kann. | ||
+ | Dabei bedeutet SUID Set UserID on execute. Das bedeutet, dass die Datei | ||
+ | NICHT mit den Rechten des aufrufenden Users gestartet wird, sondern | ||
+ | mit den Rechten des Eigentümers der Datei. | ||
+ | |||
+ | //Wozu soll das gut sein?// | ||
+ | |||
+ | Programme wie cdrecord greifen direkt auf die Hardware zu. Das ist in | ||
+ | Unix aber einem normalen Benutzer nicht erlaubt. Nur root darf das. | ||
+ | Bei cdrecord wird also zuerst der Eigentümer auf root gestellt und | ||
+ | dann das SUID Attribut gesetzt. Nun läuft cdrecord IMMER als root, auch | ||
+ | wenn es von einem normalen Benutzer gestartet wird. | ||
+ | |||
+ | :!: | ||
+ | Programme als root laufen zu lassen ist ein grosses Sicherheitsrisiko! | ||
+ | Das SUID Attribut sollte nur äusserst sparsam verwendet werden wenn es | ||
+ | nicht anders geht. 99% aller Aufgaben im System lassen sich ohne root- | ||
+ | Rechte lösen. | ||
+ | |||
+ | Um das Attribut zu setzen folgendes eingeben: | ||
+ | |||
+ | chmod u+s meinedatei | ||
+ | |||
+ | === Problem === | ||
+ | |||
+ | Wie erkennt man, ob das SUID Attribut gesetzt ist? | ||
+ | |||
+ | === Lösung === | ||
+ | |||
+ | Auf der Kommandozeile folgendes eingeben: | ||
+ | |||
+ | cwacha@lapis: | ||
+ | -rwsr-xr-x | ||
+ | ^ | ||
+ | | | ||
+ | Das hier ist das SUID Attribut (s), sonst steht dort (x) oder (-). | ||
+ | |||