howto:suid

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
howto:suid [26.01.2006 16:48 (vor 19 Jahren)] cwachahowto: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:~$ ls -la /usr/bin/smbumount
 +  -rwsr-xr-x    1 root     root         6428 2004-01-14 02:20 /usr/bin/smbumount
 +     ^
 +     |
 +     Das hier ist das SUID Attribut (s), sonst steht dort (x) oder (-).
 +