¿Es posible permitir que usuarios no root instalen paquetes en todo el sistema usando apt o rpm?
El lugar donde trabajo actualmente tiene una configuración desactualizada en las cajas de Linux, y los administradores están cansados de tener que hacer todas las instalaciones para los usuarios que lo soliciten, por lo que están pensando en otorgar todos los derechos de sudo a todos los usuarios. Esto tiene desventajas de seguridad obvias. Entonces, me pregunto si hay una manera de permitir que los usuarios normales instalen software, y que lo actualicen y lo eliminen.
apt-secure(8)
dice: "apt-get actualmente solo advertirá sobre archivos sin firmar, las futuras versiones podrían obligar a verificar todas las fuentes antes de descargar paquetes de ellas". Dependiendo de cuán sofisticado sea un ataque, podría ser posible secuestrar la conexión a la fuente del repositorio e inyectar un paquete no confiable. Sin embargo, lea esa página de manual para más detalles. Es posible que tenga una solución lo suficientemente segura para su modelo de hilo.Respuestas:
Puede especificar los comandos permitidos con sudo, no tiene que permitir el acceso ilimitado, p. Ej.
Esto permitiría ejecutar el nombre de usuario
sudo apt-get
ysudo aptitude
sin 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 a los usuarios instalar / eliminar 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 a la raíz. La pregunta principal en mi opinión 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 administración de configuración como títeres, chef o investigar la caminata espacial para administrar su sistema. Esto les permitiría configurar y administrar el sistema desde un sistema central.
fuente
aptdcon
De las páginas del manual:
fuente
ERROR: You are not allowed to perform this action. ('system-bus-name', {'name': ':1.716'}): org.debian.apt.install-or-remove-packages
fuente
También busqué algo así, pero no apareció nada, así que codifiqué esta solución fácil "softwarechannels":
https://github.com/alfem/softwarechannels
Es un sistema muy simple para permitir que los usuarios comunes (sin administrador) instalen paquetes de catálogos restringidos.
Simplemente defina 'canales' (grupos de paquetes) en un archivo de texto simple y otorgue a sus usuarios permisos para iniciar canales de software.
Solo verán paquetes en canales que coincidan con sus grupos unix.
fuente