wojtekdobo
6.08.2009, 20:07:34
Witam!
Mam taki problem. Chcę napisać sobie jakąś aplikację w php przez którą mógłbym wydawać polecenia na serwerze freebsd oraz uruchamiać skrypty powłoki. Kombinowałem pół dnia i nic z tego... żadne system() exec() itp. nie działają. Tzn działają przy wywoływaniu komend typu "ls". Prawa na plikach zmieniałem. Wydaje mi się, że te skrypty muszę jakoś uruchamiać jako root, ale nie mam pojęcia jak to zrobić...
Dodam, że przeszukałem już kilka for, ale zazwyczaj temat się urywa.
Mniej więcej chcę aby ta aplikacja działała jak webmin, tylko oczywiście z innymi poleceniami.
Z góry dziękuję za udzielone odpowiedzi.
bigZbig
7.08.2009, 08:00:31
W przypadku Apacha jest np. tak, że po uruchomieniu serwera utworzy on odpowiednią liczbę procesów child do zarządzania i kierowania prośbami połączeń. Jeżeli uruchomisz serwer jako root to proces parent będzie kontynuowany z uprawnieniami root-a ale procesy potomne działają na prawach użytkowników zgodnie z tym co zostało podane w pliku httpd.conf. Być może za pomocą funkcji exec() da się jakoś użyć sudo, ale nie mam zielonego pojęcia jak.
aso824
7.08.2009, 09:47:34
Może się mylę, ale polecenie sudo nie jest "wbudowane" i jest oddzielnym plikiem w powłoce (chyba) /bin/bash. Można odnaleść ten program (plik nazywa się chyba sudo, ale nie wiem w jakim katalogu), odpalić go i po spacji dodać ścieżkę do twojego programu.
Ale jak to zrobić z podawaniem hasła to już nie wiem...
Cytat
Mniej więcej chcę aby ta aplikacja działała jak webmin, tylko oczywiście z innymi poleceniami.
Było kiedyś coś takiego, jak phpShell chyba.
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.