Hallo zusammen,
als User test habe ich folgendes Perl-Skript geschrieben:
1 2 3 4 5 | <?php echo "whoami" echo shell_exec('whoami'); echo shell_exec('touch /var/www/test/test.txt'); ?> |
Das Skript gibt aus wer ich bin und legt mit touch die Datei test.txt im Verzeichnis test an. Das Skript hat folgende Rechte (uid Bit gesetzt)
-rwsrwxrwx 1 test test 255 2012-01-28 19:07 test.php
Wird das Skript als User test ausgeführt so funktioniert alles wunderbar:
-rw-r--r-- 1 test test 0 2012-01-28 20:52 test.txt
Ruft man das Skript nun aber über eine URL auf (Webserver ist lighttpd) so wird über whoami immer www-data ausgegeben und die Datei nicht angelegt.
Weiß jemand, wie man das Skript als User test über den Browser ausführen kann.
Auch ein Versuch mit sudoers hat nicht zum Erfolg geführt, wobei folgende Varianten getestet wurden:
www-data ALL=(root) NOPASSWD: /var/www/test/test.php www-data ALL=(test) NOPASSWD: /var/www/test/test.php
Wo liegt der Fehler?
Vielen Dank, Hans