PHP - funkcja system();

Konfiguracja serwerów, usług, itp.
venevox
Posty: 17
Rejestracja: 10 kwietnia 2009, 09:52

PHP - funkcja system();

Post 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.
Verdan
Posty: 80
Rejestracja: 06 czerwca 2006, 17:49

Post 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).
venevox
Posty: 17
Rejestracja: 10 kwietnia 2009, 09:52

Post autor: venevox »

W jaki sposób mogę zmienić uprawnienia użytkownika apache z konsoli ?
Awatar użytkownika
lessmian2
Member
Posty: 1088
Rejestracja: 30 kwietnia 2008, 19:38
Lokalizacja: Kraków

Post 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ń.
grum

Post 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?
ODPOWIEDZ