Hallo Martin bin grad am ausmisten alter Listenbeiträge - daher etwas spät...
... php.ini
<schnipp> safe_mode_exec_dir=/usr/lib/apache/bin </schnipp>
stehen. Ich kann daher Dateien, die in diesem Verzeichnis stehen aus der PHP-Datei ausführen.
z.B.: <?php $a=passthu("meinedatei.sh",$d) ?> fuehrt die Datei /usr/lib/apache/bin/meinedatei.sh aus
Leider geht das aber nicht mit folgendem Befehl: <?php $a=passthu("/neues_dir/meinedatei.sh",$d) ... Spielt keine Rolle. Im ERROR-LOG des apache erkennt muss ich feststellen, dass nur die Datei /usr/lib/apache/bin/meinedatei.sh gesucht wird
obwohl er ja /usr/lib/apache/bin/neues_dir/meinedatei.sh
abfragen sollte. "/neues_dir" wird einfach "verschluckt".
/usr/lib/apache/bin/neues_dir/meinedatei.sh
Es kann nicht auf Unterverzeichnisse zugreifen - Gibt es da einen Weg???
AFAIK Es ist sogar so, dass im /usr/lib/apache/bin/ nur eine Datei mit diesem Namen existieren muss (von mir aus mit 0 Bytes und "nur lesbar"). Solange die executable im Pfad auffindbar ist, bzw. in PHP korrekt gesucht wird, wird sie ausgeführt. Es ist lediglich eine Kontrolle "Programme mit diesem Namen darf man aufrufen". Ist natürlich schlecht, wenn dir jemand eine Exec-Datei mit dem Namen "ls" einbaut und "ls" ist freigegeben... (nur als Bsp...) Gruss Christian