2009-05-26 25 views
6

Ho creato un programma server che verrà avviato come root. Dopo che è stato avviato, desidero rilasciare i privilegi a un altro utente. Come posso fare questo in modo sicuro?Come posso cancellare i privilegi in Perl?

+0

Non va bene con Linux, ma forse genera un nuovo processo in esecuzione come "nessuno"? –

risposta

9
+0

Ho usato questo modulo. Sembra funzionare bene. Grazie. –

4

Non hai davvero bisogno di un modulo, anche se quello collegato da Benji York sembra molto carino.

È una semplice questione di impostare l'UID tramite $< e $>. Vedi perlvar per ulteriori informazioni su questi. È inoltre possibile impostare il GID in questo modo utilizzando $( e $); si noti che è necessario impostare $) = "$target_gid $target_gid" se si desidera eliminare gruppi supplementari. Non dimenticare di testare per il successo in seguito.

+4

Non dimenticare $ (e $). –

+0

buon punto. Ho immaginato che avrebbe semplicemente usato il modulo drop privato, e non c'è davvero alcun motivo per non farlo, o avrei fornito un esempio. Tuttavia, sembrerebbe molto simile alla fonte del modulo. – jettero

Problemi correlati