[perl]Suid script & system :?

Pagina: 1
Acties:

  • MikeN
  • Registratie: April 2001
  • Laatst online: 13-09 17:41
Ik heb een probleempje met perl.
Na flink zoeken kom ik niet uit het volgende probleem:
Ik heb een suid perl script, eigenaar root. Hij moet dus als root gestart worden. Ik roep het script op via apache, welke draait onder de user apache. Het volgende script:
code:
1
2
3
4
#!/usr/bin/perl
$ENV{'PATH'} = '';
print "Content-type: text/html\n\n";
system '/usr/bin/whoami';

geeft als output:
code:
1
root

Dat is dus goed.
Maar het volgende script:
code:
1
2
3
4
#!/usr/bin/perl
$ENV{'PATH'} = '';
print "Content-type: text/html\n\n";
system '/usr/bin/whoami;/usr/bin/whoami';

geeft als output:
code:
1
2
apache
apache

Op de 1 of andere manier is het dus zo dat als er 2 commando's staan in een system regel, perl weer terugvalt op de normale user.
Waarom is dit zo? Hoe verhelp ik het? Iemand tips, suggesties?

Verwijderd

(Dit is me 200e post, waarom moet zo'n jubileum post nou weer zo'n n00B post zijn :'()
Ik ben niet zo'n linux expert, maar kan je die twee calls niet allebei op een aparte regel zetten?

  • MikeN
  • Registratie: April 2001
  • Laatst online: 13-09 17:41
Op dinsdag 26 februari 2002 08:38 schreef Foxboy het volgende:
(Dit is me 200e post, waarom moet zo'n jubileum post nou weer zo'n n00B post zijn :'()
Ik ben niet zo'n linux expert, maar kan je die twee calls niet allebei op een aparte regel zetten?
Hmm, dat kan idd wel, maar dan moet ik weer heel diep in de perl documentatie gaan spitten, aangezien het aantal commando's op een regel kan verschillen.
Verder niemand suggesties?