howto:suid

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 (-).
  • howto/suid.txt
  • Zuletzt geändert: 16.11.2016 23:18 (vor 8 Jahren)
  • von 127.0.0.1