Puoi specificare i comandi consentiti con sudo, non devi consentire un accesso illimitato, ad es.
username ALL = NOPASSWD : /usr/bin/apt-get , /usr/bin/aptitude
Ciò consentirebbe a username di eseguire sudo apt-get
e sudo aptitude
senza alcuna password ma non consentirebbe altri comandi.
Puoi anche utilizzare packagekit combinato con PolicyKit per un livello di controllo più preciso rispetto a sudo.
Consentire agli utenti di installare/rimuovere pacchetti può essere un rischio. Possono facilmente rendere un sistema non funzionante semplicemente disinstallando il software necessario come libc6, dpkg, rpm ecc. L'installazione di software arbitrario dagli archivi definiti può consentire agli aggressori di installare software obsoleto o sfruttabile e ottenere l'accesso come root. La domanda principale secondo me è quanto ti fidi dei tuoi dipendenti?
Ovviamente il tuo team di amministrazione potrebbe anche iniziare a utilizzare un sistema di gestione della configurazione come marionetta, chef o guardare nella passeggiata spaziale per gestire il tuo sistema. Ciò consentirebbe loro di configurare e gestire il sistema da un sistema centrale.
aptdcon
Dalle pagine man:
aptdcon
:consente di eseguire attività di gestione dei pacchetti, ad es. installazione o rimozione di software, utilizzando aptdaemon. Non è necessario essere root per eseguire questo programma.
username ALL = NOPASSWD : /usr/bin/yum, /bin/rpm