Co to jest suExec czy suphp dla servera apache2 ?

Apache suexec jest cechą Apache serwer WWW . To pozwala użytkownikom na uruchamianie CGI i SSI aplikacje jako inny użytkownik – normalnie, wszystkie procesy serwera WWW działają jako użytkownik domyślny serwera sieci Web (często wwwrun, www-data, Apache lub nobody ). Suexec funkcja składa się z modułu do serwera WWW oraz binarnego pliku wykonywalnego, który działa jako owijki. suexec został wprowadzony w wersji 1.2 i jest często zawarte w domyślnym pakietem Apache dostarczonych przez większość dystrybucji Linuksa .

Jeśli klient żąda CGI i suexec jest włączona, to zadzwonić do binarnego suexec który następnie owija skryptów CGI i wykonuje je na koncie użytkownika procesu serwera (wirtualnego hosta) zdefiniowane w dyrektywie wirtualnego hosta.

Dodatkowo suexec przeprowadzić kontrolę wieloetapową na wykonywanego CGI w celu zapewnienia bezpieczeństwa serwera (w tym kontrole, ścieżki limitu dozwolonych poleceń itp)

Przykład Użytkownik „Alicja” ma stronę internetową w tym kilka skryptów CGI w swoim folderze public_html, które mogą być dostępne przez http: // serwer / ~ Alice.

Bob teraz postrzega stronę Alicji, która wymaga Apache uruchomić jeden z tych skryptów CGI.

Zamiast uruchamiać wszystkie skrypty jako „wwwrun” (co skutkuje koniecznością że wszystkie skrypty muszą być czytelne i wykonywalny dla grupy „wwwrun”, jeśli plik jest własnością tej grupy lub dla wszystkich użytkowników inaczej), skrypty w / home / Alicja / public_html zostanie owinięty za pomocą suexec i biegać z ID użytkownika Alicji powodując większe bezpieczeństwo i eliminuje konieczność dokonywania skrypty czytelne i wykonywalny dla wszystkich użytkowników lub wszystkich w grupie „wwwrun” (zamiast tylko sama Alice musi być w stanie uruchomić skrypt).

źródło: Wikipedia