Prozesse als nonroot starten

Hallo Experten,

ich habe eine Frage: ich möchte gern auf einer Linux-Maschine Benutzern erlauben einen bestimmten Prozess unter einer bestimmten User-ID zu starten. Die User-ID unter der der Prozess laufen soll ist verschieden von der, durch die er gestartet wird. Geht das mit Bordmitteln auch anders als einen su -c „meinprozessbinary“ auszuführen?

micha

setuid-bit
Hallo,
lies dir eine Dokumentation zum Rechte-Konzept von Linux/Unix durch und achte besonders auf setuid-bits.

Kurz:
chown $user.$gruppe /bin/binary
chmod +s /bin/binary
(natürlich als root)

btw dein Vorhaben kann durchaus sehr riskant sein wenn du dich nicht gut absicherst.

HTH,
Moritz

Kurz:
chown $user.$gruppe /bin/binary
chmod +s /bin/binary
(natürlich als root)

sudo wäre auch eine Möglichkeit, in puncto Sicherheit gilt dasselbe wie gesagt.

LG
stuffi

Hallo,

chown $user.$gruppe /bin/binary
chmod +s /bin/binary
(natürlich als root)

sudo wäre auch eine Möglichkeit

Ja.

in puncto Sicherheit gilt
dasselbe wie gesagt.

Nun, ich halte sudo vür deutlich besser (weil feiner konfigurierbar)

Sebastian

Hallo,

Nun, ich halte sudo vür deutlich besser (weil feiner
konfigurierbar)

ich auch, aber die Frage war ob es mit „Bordmitteln“ geht, und sudo ist für mich kein „Bordmittel“ (bei Debian nicht per default installiert), auch wenn es das sein sollt.

Grüße,
Moritz

Hi Moritz,

Hallo,
lies dir eine Dokumentation zum Rechte-Konzept von Linux/Unix
durch und achte besonders auf setuid-bits.

O.K., das hatte ich bisher immer nur im Kopf wenn ich daran dachte ein binary als root laufen zu lassen…mal ein wenig denken und schon kann man das verallgemeinern *kopfhau*

Kurz:
chown $user.$gruppe /bin/binary
chmod +s /bin/binary
(natürlich als root)

btw dein Vorhaben kann durchaus sehr riskant sein wenn du dich
nicht gut absicherst.

In wiefern? Mir ist klar, dass ein suid root laufendes Programm ein riesiges Sicherheitsloch ist, aber wenn ich das Programm unter einem nicht privilegiertem User laufen lasse sollte doch eigentlich nichts passieren, oder?

micha

P.S. sudo ist in dem Fall ein Bordmittel aber wenn es keine Löcher reisst wuerde ich lieber das suid-bit nehmen. Meinungen?

Hallo,

btw dein Vorhaben kann durchaus sehr riskant sein wenn du dich
nicht gut absicherst.

In wiefern? Mir ist klar, dass ein suid root laufendes
Programm ein riesiges Sicherheitsloch ist, aber wenn ich das
Programm unter einem nicht privilegiertem User laufen lasse
sollte doch eigentlich nichts passieren, oder?

Nein, es sollte nix passieren. Es sei denn du hast Dateien die nur diese unpriviligierte User lesen und oder schreiben kann - die wären dann halt, wenn das Programm eine Sicherheitslücke hat, für alle offen.

P.S. sudo ist in dem Fall ein Bordmittel aber wenn es keine
Löcher reisst wuerde ich lieber das suid-bit nehmen.
Meinungen?

Wenn du es jedem erlauben willst diese Programm auszuführen (oder jedem in einer bestimmten Gruppe) ist setuid besser da schneller und es kann nicht aus versehen mit der falschen UID gestartet werden.
Sobald du aber Abstufungen machen willst (nur X und Y dürfen ohne Passwrt, W und Z mit Passwort) ist sudo geeignet.

HTH,
Moritz