Il meccanismo suEXEC consente di eseguire uno script CGI o FastCGI con i privilegi di un utente specifico invece che con i privilegi dell'utente che esegue Apache.
Installato il pacchetto Debian apache2-suexec.
Il gruppo/utente con cui eseguire lo script deve essere tra quelli consentiti, ad esempio www-data
non è consentito.
L'eseguibile (cgi-bin, fcgi, …) deve appartenere al gruppo/utente dichiarato in SuexecUserGroup
, così come la directory che lo contiene.
L'eseguibile (cgi-bin, fcgi, …) deve stare dentro la document root del server (non del VirtualHost), quindi ad esmpio la direttiva ScriptAlias /cgi-bin/
non può puntare a /usr/lib/cgi-bin/
. In Debian (pacchetto apache2-suexec-custom) la document root di suexec viene definita in /etc/apache2/suexec/www-data
, il valore predefinito è /var/www/
verificare che la DocumentRoot del VirtualHost sia contenuta in essa.
Se si vuole usare un eseguibile di sistema si può realizzare un wrapper, non va bene invece un link simbolico.