Posso eseguire la mia applicazione mod_perl come un utente ordinario
Domanda
Posso eseguire il mio mod_perl aplication come un utente ordinario simile a l'esecuzione di un'applicazione di vaniglia CGI plain sotto suexec?
Soluzione
fonte :
E 'possibile eseguire mod_perl abilitato Apache come suEXEC?
La risposta è No. La ragione è che non si può "suid" una parte di un processo. mod_perl vive dentro l'Apache processo, quindi il suo UID e GID sono i stesso come il processo di Apache.
Devi usare mod_cgi se avete bisogno questa funzionalità.
Un'altra soluzione è quella di utilizzare un crontab chiamare alcuni script che controllerà se c'è qualcosa da fare e lo esegue. Lo script mod_perl sarà in grado di creare e aggiornare questa todo list.
Una risposta più sfumata con alcune possibili soluzioni da "Practical mod_perl" libro : (Spero che non è un contenuto pirata, se si tratta di modifica si prega di fuori)
mod_perl 2.0 migliora la situazione, in quanto permette un pool di Perl interpreti da dedicare ad una singolo host virtuale. È possibile impostare i UID e GID di questi interpreti siano quelli dell'utente per cui l'host virtuale è configurata, così gli utenti possono operare all'interno dei propri spazi protetti e sono in grado di interferire con altri utenti.
Soluzioni addizionali dal libro pmi sono in appendice C2
Altri suggerimenti
Come corre mod_perl all'interno del processo di apache, vorrei che la risposta è in genere no. Si potrebbe, ad esempio, eseguire un processo apache separata come questo utente ordinario e utilizzare il processo apache principale come un proxy per esso.