Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Exec - co robie nie tak?
Forum PHP.pl > Forum > PHP
ultra_18
Witam napisałem prosty skrypt dla linuxa który odpala kilka rzeczy znajuje sie on w /home/skrypt.ini moge go normalnie odpalic poprzez konsole poleceniem /home/skrypt.ini ale chciałbym to zrobić poprzez przegladarke i nie wychodzi w żaden sposób nie działaja polecenia exec, shell_system, system a tryb bezpieczny jest wylaczony, apache swiezo po instslacji v5.2

chmody i wszystko ustawione !
erix
A właściciel ten sam, co procesu serwera?

Cytat
i nie wychodzi w żaden sposób nie działaja polecenia exec, shell_system, system a tryb bezpieczny jest wylaczony

Może w php.ini zablokowane?

PS. Nie ma Apache 5.2. ;]
singollo
A może Apache nie ma uprawnień do wykonania tego pliku?
ultra_18
Cytat(erix @ 22.11.2008, 10:45:54 ) *
A właściciel ten sam, co procesu serwera?


ten sam wlasciciel obu plików a czy procesu serwera to nie wiem ale zreszta i tak chmody 777

Cytat(erix @ 22.11.2008, 10:45:54 ) *
Może w php.ini zablokowane?


co konkretnie?


Cytat(erix @ 22.11.2008, 10:45:54 ) *
PS. Nie ma Apache 5.2. ;]


tak wiem pomylilem sie wersja php 5.2 a apache oczywiscie 2
erix
Cytat
co konkretnie?

disabled_functions

Ale najpewniej sprawdzić najpierw pierdołami:
  1. <?php
  2. var_dump(function_exists('exec'));
  3. echo exec('ls');
  4. ?>


Jeśli coś się wyświetli (listing), to znaczy, że coś jest z uprawnieniami, a z PHP w porządku.
ultra_18
wszystko w apache raczej działa jak trzeba, działaja proste polecenia w exec takie jak zmiana nazwy, kopiowanie, usuwanie przy ustawionych full chmodach ale nie moge wykonywac innych programów które mnie interesują min. kill sadsmiley02.gif zauważyłem że jest inne `whoami` i `who` wiec to pewnie o to chodzi bo domyslam sie żeby wykonywac "zaawansowane" programy to who, whoami i wlasciciel procesu to musi byc ten sam user tylko jeszcze nie wiem jak to rozwiazac
erix
A może to? http://www.cyberciti.biz/tips/allow-a-norm...ds-as-root.html
debian
Mam taki sam problem jak autor tematu...
pyro
Można wiedzieć jak go uruchamiasz? Jakim kodem?
debian
Np ja miałem skrypt php który miał wykonywać skrypty bashowe .sh

  1. <?php
  2. if ($_GET['akcja']=='on')
  3. {
  4. system('sh /sciezka/folder/skrypt.sh');
  5. }
  6. elseif ($_GET['akcja']=='off')
  7. {
  8. system ('sh /sciezka/folder/skrypt2.sh');
  9. }
  10. ?>
ultra_18
kodów różnych próbowalem :
`/home/skrypt.ini`
exec("/home/skrypt.ini")

etc , tak jak pisalem już wcześniej działaja tylko proste komendy a uruchomienie skryptu powloki lub polecenie kill itp nie dzialaja
erix
Spróbuj się zalogować przez SSH (jeśli masz taką możliwość) na koncie, na którym działa proces www i uruchom ręcznie to polecenie. A co w ogóle ten exec" title="Zobacz w manualu PHP" target="_manual zwraca?
bartg
czasami exec nie zwraca nic. Używając komendy ffmepg poprzez exec, nic nie było zwracane ale biblioteka robiła to co miała robic.
ultra_18
@erix oczywiscie mam możliwość recznego uruchomienie przez ssh, tylko cała zabawa polega na tym że chciałbym napisać panel ale nie działaja polecenia wykonywane przez przegladarke.

funkcje exec działa ale zwraca mi zawsze false jak chce wykonać coś zaawansowanego np uruchomienie skryptu czyli coś zabrania jej wykonania


Cytat(bartg @ 23.11.2008, 14:12:58 ) *
czasami exec nie zwraca nic. Używając komendy ffmepg poprzez exec, nic nie było zwracane ale biblioteka robiła to co miała robic.


no ale jak mam użyc ta komende jak mam polecenie `kill 997` to co mam wisac
exec('ffmepg kill 997'); questionmark.gif
erix
A użytkownik procesu serwera ma te same uprawnienia, co Ty logując się na SSH?
bartg
ffmpeg to byl przyklad, ta komenda konwertuje filmy haha.gif. Mówię tylko że exec nie zawsze coś zwraca, mimo że konsola zwróci
ultra_18
Cytat(erix @ 23.11.2008, 18:37:44 ) *
A użytkownik procesu serwera ma te same uprawnienia, co Ty logując się na SSH?


udało sie załatwić problem zmieniając właściciela apache, można było również nadać uprawnienia staremu wlascicielowi czyli www-data, a co do exec to faktycznie ta funkcja dziwnie zwraca wartosci
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.