Me gustaría crear un nuevo usuario en algunos de mis hosts Debian / Ubuntu que pueda actualizar el servidor usando los comandos apt-get updatey apt-get dist-upgrade, pero no quiero darles acceso completo a sudo para poder hacer cualquier otra cosa. es posible? ¿Quizás haya una manera de crear un script que no puedan editar pero que puedan ejecutar, que se ejecutará como usuario root?
permissions
sudo
privileges
Programador
fuente
fuente

man sudoersysudo cat /etc/sudoers.Respuestas:
Sudoy el/etc/sudoersarchivo no es solo para otorgar a los usuarios acceso completo a la raíz.Puede editar el archivo sudoers con un usuario sudo existente, con el comando
sudo visudoPuede agrupar los comandos a los que desea otorgar acceso, como a continuación:
Luego puede otorgar privilegios de usuario específicos a esos comandos de la siguiente manera:
Esto se puede ver en la imagen a continuación
:
Ahora si lo intentas
sudo apt-get updateosudo apt-get dist-upgradeesos comandos se ejecutarán sin pedir una contraseña . Si desea que se le solicite una contraseña, elimine elNOPASSWDbit donde concede acceso a un usuario a los grupos de comandos.Si intenta ejecutar cualquier otra cosa como
sudousuario, se le pedirá una contraseña y fallará.Referencias
fuente
apt-get, o incluso simplementeapt-get upgrade, ¡ les da acceso completo a la raíz ! Muchos scripts de actualización permiten al usuario interactivo ejecutar un shell, por ejemplo, cuando un archivo de configuración ha cambiado. Para estar seguro, restringirapt-getciertos comandos y forzarlo a que no sea interactivo. Consulte ¿Es seguro para mi usuario ssh recibir sudo sin contraseña paraapt-get updateyapt-get upgrade?%sudo ...