Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: uruchomienie programu na serwerze
Forum PHP.pl > Forum > PHP
krh2
czesc,

mam taki problem, mam serwer do ktorego moge dostac sie tylko przez jeden port, a jest na nim postawionych pare serwisow (http, ftp, ssh) i teraz, czy moze ktos wie czy jest jakis sposob zeby za pomoca php wywolac jakis skrypt ktory jest gdzies na komputerze (system linux) i skrypt ten zamykalby serwer http i wlaczal ssh. Skrypt taki mam juz napisany, tylko nie wiem jak go wywolac. Co myslicie?
Shili
exec

@btw,
możesz jeszcze spojrzeć na system
system

No i nie wiesz czy Ci pomogłam, trudno to było sprawdzić w ciągu 30 sek. od umieszczenia postu.
Niemniej dziękować smile.gif
abort
Tym tego nie ugryzie, ani system() ani exec() to nie są sposoby na zamykanie i uruchamianie serwisów, przynajmniej nie w Linuksie/uniksach.

Do startowania i stopowania apache, ssh, ftp i czego tam jeszcze potrzebne są prawa roota.
Apache ich nie posiada. Uruchomienie Apache a roota (np. z konsoli) jest potrzebne tylko po to, by dopiąć się do portów <1024. Potem Apache zrzuca prawa administratora i zadowala się prawami predefiniowanego użytkownika (np. w Debianie jest to user "www-data"). Z punktu systemu jest to zwykły, nieuprzywilejowany użytkownik, a taki nie ma specjalnych praw pozwalających na restartowanie usług

Rozsądne rozwiązania są dwa, z zastrzeżeniami poniżej:
1. tworzenie z interfejsu www plików, na które "uczulimy" crona (cron musi pracować z roota), i w razie obecności takich plików skrypt wywoływany z crona będzie wykonywał odpowiednie akcje
2. suphp

Jeśli ktoś ma Apacha w środowisku chrootowanym (chroot/jail), to nawet suphp nie pomoże, bo prawidłowo skonfigurowamny chrootowany Apache może mieć dostęp conajwyzej do swoich binarek.


P.S.
Mimo relatywnie niewielkiego stażu na forum piszę już o tym chyba trzeci raz - może warto rozważyć dodanie tego do FAQ?
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.