Jestem w trakcie pisania panelu, który będzie zarządzał iptables/tc/ifconfig oraz przeglądał logi, zmieniał pliki konfiguracyjne w /etc/*
Admin w panelu zmienia ustawienia sieciowe serwera i wciska akceptuj ... i tu jest problem -> jak wdrożyć zmiany w systemie :
1. Uruchomienie serwera WWW z uprawnieniami roota (domyślny tryb pracy miniserv'a od Webmina)
2. Skrypty CGI w apache z ustawionym SUID (tryb pracy webmina na "obcym" serwerze)
3. suEXEC lub suPHP
4. Cron wdraża zmiany z uprawnieniami roota (co minute)
5. Demon w C "periodycznie" wdraża zmiany zawarte w plikach konfiguracyjnych tworzonych przez PHP
6. Demon w C na żądanie wdraża zmiany zawarte w plikach konfiguracyjnych tworzonych przez PHP
7.Wykorzystanie obsługi SSH w PHP i po zalogowaniu się na roota wykonanie polecen zawartych w plikach konfiguracyjnych tworzonych przez PHP (hasło roota w BD)
8.Wykorzystanie obsługi SSH w PHP i po zalogowaniu się na roota wykonanie polecen zawartych w plikach konfiguracyjnych tworzonych przez PHP (hasło roota podać ręcznie)
9. Podobnie jak wyżej tyle, że wykorzystać sudo i użytkownika z prawami tylko do niezbędnych poleceń powłoki
10. Dodać użytkownikowi apache w /etc/sudoers możliwość wykonywania wszystkich potrzebnych aplikacji komend powłoki
11. Skorzystać z możliwości polecenia : shell_exec(`sudo php -f /home/costam/skrypt.php`); oraz /etc/sudoers
(pewnie jest jeszcze kilka możliwości...)
Jak Waszym zdaniem należało by to zrobić ? ( i dlaczego?)
Z góry bardzo dziekuję !!!
Pozdrawiam
PS: Tak to graficznie wygląda