![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 21 Pomógł: 0 Dołączył: 11.09.2008 Skąd: wwa Ostrzeżenie: (0%) ![]() ![]() |
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? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 590 Pomógł: 107 Dołączył: 25.10.2011 Ostrzeżenie: (0%) ![]() ![]() |
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? |
|
|
![]() ![]() |
![]() |
Aktualny czas: 16.10.2025 - 07:15 |