[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: setuid(0) funktioniert nicht trotz effektiver Root-UID



Hallo,

On 11/14/18 1:57 PM, Christoph Pleger wrote:
Hallo,

ich habe ein Binary mit Rechten 4755, das nach dem Starten durch einen
Nutzer ohne Root-Rechte mit Hilfe von setuid(0) nicht nur die effektive
und die gespeicherte, sondern auch die reale UID auf 0 setzen soll
(lvcreate braucht das wohl).

Das funktioniert auch, wenn ich das Programm manuell in der bash
aufrufe. Allerdings soll es letztlich vom PAM-Modul pam_exec aufgerufen werden, doch da funktioniert setuid(0) nicht wie gewünscht, sondern die
reale UID bleibt die des aufrufenden Nutzers. Wenn ich die Dateirechte
nicht auf suid-root setze, sondern stattdessen explizit die Capability
cap_setuid für das Binary setze, wird aus dem PAM-Modul heraus sogar die
Ausführung des Programms mit "execve: Operation not permitted" ganz
verweigert, wohingegen auch das beim Aufruf aus der Bash-Befehlszeile
funtioniert.

welchen Modultyp verwendest Du denn (auth, account, ...)?

Modultyp auth.

Hast Du seteuid gesetzt?

seteuid habe ich schon probiert, aber damit gibt es sowohl vor dem Aufruf von setuid(0), als auch danach keinen Unterschied bzgl der UIDs im Vergleich zum Fall ohne seteuid.

 > Hast Du man pam_exec gelesen?

Ja.

Viele Grüße
  Christoph


Reply to: