Bjoern: user wechseln bei systemaufruf

hi leute,

vielleicht kann mir jemand bei folgendem problem helfen:
ich habe eine cgi-page gebastelt mit perl. diese soll jetzt einen unix-befehl (auf dem unixserver) ausführen. soweit, sogut; da gibt es ja die befehle "qx(...)" und "system" dafür.
doch leider hat das cgi-script einen user, welche keine ausführrechte auf das programm besitzt. so möchte ich gerne für diesen einen befehl den unix-username wechseln. geht das ?

gruss
bjoern

  1. Hallo,

    doch leider hat das cgi-script einen user, welche keine ausführrechte auf das
    programm besitzt. so möchte ich gerne für diesen einen befehl den
    unix-username wechseln. geht das ?

    Nein.
    Es gibt grundsaetzlich zwei Wege, einem CGI-Script zusaetzliche Rechte zu geben.
    Der erste ist das Setzen eines festen UID-Bits (chmod u+s), dafuer muss aber der
    Interpreter 'suidperl' sein. Der zweite waere die Verwendung von 'sudo': mit
    'sudo' kannst du einem User erlauben, bestimmte Befehle unter dem Deckmantel
    eines anderen Users auszufueren (normalerweise 'root'). Zu bevorzugen ist der Weg
    ueber 'sudo', da er weniger Sicherheitsprobleme mit sich bringt. Siehe auch 'man
    chmod' und 'man sudo'.

    Gruesse,
     CK

    1. hi,

      das mit dem sudo ist ja genau das, was ich brauche.
      dummerweise finde ich den befehl nicht auf der unix-maschine. ist das ein befehl, den es für kornshell nicht gibt ?

      bjoern

      1. Hallo,

        dummerweise finde ich den befehl nicht auf der unix-maschine. ist das ein
        befehl, den es für kornshell nicht gibt ?

        Der hat nichts mit der Shell zu tun. 'sudo' ist ein externes Paket. Das kannst du
        unter http://www.sudo.ws/ (danke, Stonie, fuer den Link :) herunterladen.

        Gruesse,
         CK