robotto7831a Geschrieben 15. April 2009 Geschrieben 15. April 2009 Hallo zusammen, ich muss als root ein Perl Skript starten welches ein Perl Skript aufruft welches aber unter einem bestimmten User läuft. Und als Sahnehäubchen muss ich noch die Rückgabewerte des zweiten Skriptes prüfen. Rückgabewerte und alles habe ich schon fertig nur wie rufe ich aus einem Skript heraus was als root läuft ein Skript auf was unter dem Benutzer frank läuft? Frank Zitieren
DevilDawn Geschrieben 15. April 2009 Geschrieben 15. April 2009 Rückgabewerte und alles habe ich schon fertig nur wie rufe ich aus einem Skript heraus was als root läuft ein Skript auf was unter dem Benutzer frank läuft? Wenn dein Script als root läuft wird das script, was es ausruft, auch als root laufen. Soll es als 'frank' laufen, muss dein Script seine Privilegien vorher fallen lassen: my @_userdata = getpwnam('frank'); my $_uid = $_userdata[2]; die("unknown user frank") unless (defined $_uid); setuid($_uid) or die("unable to suid: $!"); HTH Zitieren
robotto7831a Geschrieben 15. April 2009 Autor Geschrieben 15. April 2009 Wo finde ich denn dieses setuid? Undefined subroutine &main::setuid called at Frank Zitieren
DevilDawn Geschrieben 15. April 2009 Geschrieben 15. April 2009 Wo finde ich denn dieses setuid? # perl -e 'setuid(100);' Undefined subroutine &main::setuid called at -e line 1. # perl -MPOSIX -e 'setuid(100);' # aka "use POSIX;" Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.