system, exec stb. nem működik...

Tisztelt Kollégák!
PHP szkriptben szeretnék system("akarmilyen_parancs")-ot végrehajtani, azonban valami oknál fogva a szerver nem hajtja végre. Nincs hibaüzenet, nincs semmi, csak a nagy csend...
Ugyanez a szkript más szerveren (teszt szerver) működik...
A kérdés: hogyan bírjam rá a működésre, valamint mit kell beállítani (ha van ilyen...)?
A szerver nem safe mode-ban fut, az apache juzer sudo-zhat, suexec be van töltve, stb. látszólag minden feltétele megvan a működésre...

Hozzászólások

phpverzió?
milyen error_reporting beállítással fut?
könyvtár jogosultságok?
mi az utasítás? (ha titkos akkor nagyjából :) )
a futtatandó prog/srcipt/mittomen jogosultságai?
egyébb ami még nem jutott eszembe?

disabled_functions -ben nincs ott? Egyébként ezeket csípőből tiltom énis a gépeimen, lásd a sok phpnuke és egyéb okosságot.

Valóban nagyon nagy biztonsági rést jelentenek ezek a funkciók az alapértelmezett konfigurációban.
Én viszont mégsem tiltanám le ezeket, mivel én használom, viszont be van állítva egy könyvtár(safe_mode_exec_dir), és a PHP csak onnan futtathat. De mintha már írtam volna egy (pár) hozzászólást ezzel kapcsolatban itt a HUPon. Ráadásul lehet mahinálni pl. Apache konfigban is, hogy kinek milyen opciókkal fusson PHP.

Hát én a safemodeexecben sem bízom és egyáltalán figyelembe veszi? Ha meghivsz egy scriptet amiben ez az van, az mar nem PHP.

Egyébként kiváncsi vagyok azokra a dolgokra, amihez normális weboldal esetén mindenképpen shell futtatás kell. :) Az is rendben van, hogy pervhost belövöd a PHP-t, de 250+ vhostnál kissé problémás lehet.

ez se?

system("/bin/ls /tmp",$retval);
print $retval;

?>

ha 127, akkor nem ott van az ls (esetleg /usr/bin/ls)

Itt a 127 a no such file or directory-t jelenti szerintem. Amúgy valahol megnézető, mikor dobja a bash, de már nem emlékszem.
Ha kiadod kézzel ezt az utasítást a shellből (lehet hogy su apache kell, azt nem tom), akkor mit ír ki?
Nálam amúgy a gzip a /bin-ben van.

Ezt alaphangon oda kéne tenni mondjuk. Egyébként van SELECT INTO OUTFILE és tsai is a MySQL-ben.

Az apache pedig johogy nemtud sudo -zni, szépen nézne ki a helyzet. A lényeg az hogy a login le van tiltva, viszont setgid() es setuid() rootkent mukodik, ezert tud www juzerrel futni peldul.