Archiv verlassen und diese Seite im Standarddesign anzeigen : shell_exec() als root
Hallo
Ich programmiere mir gerade ein Administrations-System für meinen Webserver zusammen in PHP.
Bereits in den Anfängen bleibe ich hängen.
Da ich auch User hinzufügen muss, brauche ich die shell_exec() funktion. Leider erlaubt mir diese nicht, den Befehl useradd auszuführen, da Apache nicht unter root läuft (Boah ). Gibt es eine Möglichkeit, dieses Problem zu umgehen?
Gruss simcen
xstevex22
20-06-2003, 17:04
Hi!
Vielleicht kannst du das über die /etc/sudoers regeln. Füge die Zeile:
apache ALL=NOPASSWD:/usr/sbin/useradd
ein, und in deimem PHP Skript machst du dann ein shell_exec('sudo /usr/sbin/useradd ...');
robiotor
25-06-2003, 21:20
apache rennt unter nobody, wenn dann so
nobody ALL=NOPASSWD:/usr/sbin/useradd
mehlvogel
01-07-2003, 20:28
dann könnte (imho) jeder nutzer der ein skript auf das Ding liegt useradd ausführen....
Ich habe das so gemacht:
Hab nen C Programm geschrieben was einen Befehl ausführt (per sudoers freigeschaltet) - diese Skript pürft aus welchem Verzeichnis es aufgerufen wird (per Environment Vars) und noch ein zwei andere "checks" - aber so geht das eigentlich ganz gut.
Hallo,
noch eine Frage hierzu:
Wie kann sich ein C-Programm Rechte als root verschaffen?
Eine Menge Leute haben schon ein Administrations-System für Webserver
programmiert.
Nimm doch einfach deren Programm und programmiert noch das fehlende Modul hinzu.
http://www.webmin.com
Für jemanden der nur PHP kann wird das beim auf Perl basierenden Webmin recht schwierig... ;)
mehlvogel
12-09-2003, 14:53
Original geschrieben von phoku
Hallo,
noch eine Frage hierzu:
Wie kann sich ein C-Programm Rechte als root verschaffen?
Das Programm gehört root und hat suid. sudo kontrolliert das ganze
Original geschrieben von mehlvogel
dann könnte (imho) jeder nutzer der ein skript auf das Ding liegt useradd ausführen....
Ich habe das so gemacht:
Hab nen C Programm geschrieben was einen Befehl ausführt (per sudoers freigeschaltet) - diese Skript pürft aus welchem Verzeichnis es aufgerufen wird (per Environment Vars) und noch ein zwei andere "checks" - aber so geht das eigentlich ganz gut. Worin liegt da deiner Meinung nach der Vorteil?
Powered by vBulletin® Version 4.2.5 Copyright ©2025 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.