23 Aug
2000
23 Aug
'00
14:59
Hallo, Steffen Dettmer schrieb: > > * Meinhard Schneider wrote on Tue, Aug 22, 2000 at 18:58 +0200: > > ich will ein cgi-skript in perl schreiben, dass einen Befehl ausführen > > soll. Dazu brauch das Programm aber setuid/setgid "root". > Nein, nicht zwingend. Du kannst sudo verwenden, Du kannst ein > mini-C Programm machen, und das suid=0 machen, oder ssh > root@localhost -C 'blah' mit geeignetem Wrapper (über > .ssh/authorized_keys) verwenden (OpenSSH geht hier leider [noch?] > nicht), sicher gibt's noch mehr Wege... ARGH!!!!!!! Ich will doch nur, dass der Rechner auf Befehl ein *einfaches* Programm ausführt, was eben root-rechte braucht!!!!! Ich wollte nicht eine neue Hardware-Plattform und ein neues OS entwickeln!!!! > > Ich habe in > > der doku gelesen, dass man irgendwas namens "suexec" eincompilieren > > kann. > > IIRC macht SuSE das so. Kann sein, daß suexec im falschen Pfad > liegt oder sowas, irgentwas war da mal, aber ich glaube, > inzwischen geht's out-of-the-box. suexec startet aber nix als > root, außer Du modifizierst die suexec.h (glaube nicht, daß es so > eine bekloppte Option fürs ./configure gibt, aber Apache kennt ja > auch ein -DBIG_SECURITY_HOLE (!), also sicher bin ich nicht :)) Wie kann man das festellen? > Dann compilierst Du das Programm auf einer anderen Maschine, die > die selben glibc-Version besitzt, und kopierst es einfach. Nur das apache-binary?? Oder noch mehr? > > Ich habe schon probiert, aus dem cgi-skript ein anderes perl-skript mit > > suid root aufzurufen, klappt aber nicht (Meldung in > > /var/log/httpd/error_log). > > Ja, und welche? Übrigens hat gibt's einen netten exploit für > setuid-Perl, über ein "undokumentiertes Feature", also lieber > nicht verwenden, und IIRC fängt setuid root Perl viele Sachen ab, > so daß Du vermutlich nicht erreichst, was Du möchtest. Meldung: [Tue Aug 22 20:21:14 2000] [error] [client 172.16.0.12] Premature end of script Can't do setuid Das ist alles. Kurz, aber aussagekräftig! > Letztlich ist setuid=0 nicht so eine triviale Sache. > Am besten, Du nimmst ein C-Programm, was so ähnlich wie suexec > prüft (kannst ja die Sourcen verwenden :)), dann so einfach > (==stabil, sicher) wie möglich ist, und Deine geheimnisvolle > Aktion ausführt (die hoffentlich kein exec-family call ist :)) Naja, es soll - pppd starten, der dann die ADSL-Verbinung aufbaut - den pppd killen zum beenden der Verbindung - isdnctrl aufrufen - sendmail -q aufrufen Und für alles brauch ich nun mal root-rechte! > Hoffe, Du kommst jetzt weiter :) Nöö :-(( Als, ich kann mir *nicht* vorstellen, dass ich der einzige bin, der über ein CGI probiert, ein Programm mit root-rechten auszuführen???? Das Problem muss sich doch ohne neucompilieren des halben systems lösen lassen, oder ?! many THX! Ciao, Meini. -- Meinhard Schneider meini@meini.org; #ICQ:22574951 http://www.meini.org GNUPG/PGP-Keys available! (please contact me or visit my homepage) --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com