Puede especificar los comandos permitidos con sudo, no tiene que permitir el acceso ilimitado, por ejemplo,
username ALL = NOPASSWD : /usr/bin/apt-get , /usr/bin/aptitude
Esto permitiría que el nombre de usuario ejecute sudo apt-get
y sudo aptitude
sin ninguna contraseña pero no permitiría ningún otro comando.
También puede usar packagekit combinado con PolicyKit para un nivel de control más fino que sudo.
Permitir que los usuarios instalen o eliminen paquetes puede ser un riesgo. Pueden hacer que un sistema no funcione con bastante facilidad simplemente desinstalando el software necesario como libc6, dpkg, rpm, etc. La instalación de software arbitrario de los archivos definidos puede permitir a los atacantes instalar software obsoleto o explotable y obtener acceso de root. En mi opinión, la pregunta principal es ¿cuánto confía en sus empleados?
Por supuesto, su equipo de administración también podría comenzar a usar un sistema de gestión de configuración como marioneta, chef o buscar en spacewalk para administrar su sistema. Esto les permitiría configurar y administrar el sistema desde un sistema central.
aptcon
De las páginas man:
aptdcon
:permite realizar tareas de gestión de paquetes, p. instalar o eliminar software, usando aptdaemon. No es necesario ser root para ejecutar este programa.
username ALL = NOPASSWD : /usr/bin/yum, /bin/rpm