Strona 1 z 1

PHP - funkcja system();

: 13 lutego 2010, 10:07
autor: venevox
Witam.
Mam taki problem, mianowicie gdy wykonuję przez php takie coś:

Kod: Zaznacz cały

<?php
system("mkdir /home/jakis_folder");
?>
To folder się tworzy, a gdy wykonuję takie coś:

Kod: Zaznacz cały

<?php
system("kill -9 PID");
?>
To nie wyłącza programu. Co jest nie tak?
Pozdrawiam.

: 13 lutego 2010, 10:27
autor: Verdan
Może próbujesz zabić proces, do którego nie masz praw? (Proces tworzony przez komendę system() dziedziczy uprawnienia wątku serwera HTTPD, w domyślnych konfiguracjach Debiana są to uprawnienia użytkownika www-data).

Edycja: Zawsze możesz spróbować wywołać komendę exec() z parametrami, w których zostanie zapisane wyjście komendy. W takim przypadku nie zapomnij dodać przekierowania strumienia stderr do stdout (2>&1).

: 13 lutego 2010, 10:36
autor: venevox
W jaki sposób mogę zmienić uprawnienia użytkownika apache z konsoli ?

: 13 lutego 2010, 22:31
autor: lessmian2
venevox, serwer Ci niemiły? :-> Nie po to serwer www działa z ograniczonymi uprawnieniami, żeby je zwiększać. Dużo lepszym wyjściem jest użycie system()+sudo lub ssh2_exec()+sudo jeśli tak bardzo potrzebujesz większych uprawnień.

: 14 lutego 2010, 01:15
autor: grum
Nie programuje dużo stron www, więc mogę się mylić, ale może np lepszym rozwiązaniem byłoby napisanie CGI np. w pythonie. Może będzie łatwiej ten język wykorzystać do zaawansowanego www. Tak z ciekawości

Kod: Zaznacz cały

os.system("kill -9 PID")
w skrypcie CGI zadziała?