Introducción
El comando sudo permite a los usuarios ejecutar programas como otro usuario, por defecto como usuario root.
Por lo general, para otorgar acceso a sudo a un usuario, debe agregar el usuario al grupo sudo definido en el archivo sudoers. En Debian, Ubuntu y sus derivados, los miembros del grupo sudo tienen los privilegios de sudo, mientras que en las distribuciones basadas en RedHat como CentOS y Fedora, el nombre del grupo sudo es wheel. A cada miembro de este grupo se le pedirá su contraseña antes de emitir un comando sudo. Esto agrega una capa adicional de seguridad y es la forma preferida de otorgar privilegios de sudo a los usuarios.
Sin embargo, en algunas situaciones, como ejecutar scripts automáticos, puede ser necesario configurar el archivo sudoers y permitir que ciertos usuarios ejecuten comandos sudo sin que se les solicite una contraseña.
Agregar usuario a Sudoers
El archivo sudoers contiene información que determina los privilegios sudo del usuario y del grupo.
Puede configurar el acceso al usuario sudo editando el archivo sudoers o agregando un archivo de configuración al directorio /etc/sudoers.d. Los archivos creados dentro de este directorio se incluirán en el archivo sudoers.
Antes de realizar cualquier cambio, se recomienda hacer una copia de seguridad del archivo actual:
sudo cp /etc/sudoers{,.backup_$(date +%Y%m%d)}
El comando de fecha agregará la fecha actual al nombre del archivo de respaldo.
Abra el archivo /etc /sudoers con el comando visudo:
sudo visudo
Al realizar cambios en el archivo sudoers, utilice siempre visudo. Este comando verifica el archivo después de la modificación y si ocurre un error de sintaxis, no guardará los cambios. Si abre el archivo con un editor de texto, un error de sintaxis resultará en la pérdida del acceso a sudo.
En la mayoría de los sistemas, el comando visudo abre el archivo /etc /sudoers con el editor de texto vim. Si es nuevo en vim, puede usar otro editor de texto. Por ejemplo, para editar el archivo sudoers con el comando visudo usando un editor diferente como GNU nano, tendría que ejecutar:
sudo EDITOR=nano visudo
Desplácese hacia abajo hasta el final del archivo y agregue la siguiente línea que permitirá al usuario ejecutar cualquier comando sudo sin que se le solicite una contraseña:
nome_utente ALL=(ALL) NOPASSWD:ALL
No olvide cambiar " nombre de usuario " por el nombre de usuario al que desea otorgar acceso.
Si desea permitir que el usuario ejecute solo comandos específicos sin ingresar la contraseña, especifique los comandos después de la palabra clave NOPASSWD.
Por ejemplo, para permitir solo los comandos mkdir y mv, necesitará usar:
nome_utente ALL=(ALL) NOPASSWD:/bin/mkdir,/bin/mv
Cuando termine, guarde y cierre el archivo presionando CTRL + X, seguido de Y para guardar los cambios y luego ENTER si está usando nano.
Utilice el archivo /etc/sudoers.d
En lugar de modificar el archivo sudoers, puede crear un nuevo archivo de reglas de autorización en el directorio /etc/sudoers.d. Este enfoque hace que la administración de los privilegios de sudo sea más manejable.
Abra su editor de texto y cree el archivo:
sudo nano /etc/sudoers.d/nome_utente
Puede darle un nombre al archivo, generalmente se recomienda usar el nombre de usuario como nombre de archivo. Agregue la misma regla que le gustaría agregar al archivo sudoers:
nome_utente ALL=(ALL) NOPASSWD:ALL
Cuando termine, guarde y cierre el archivo presionando CTRL + X, seguido de Y para guardar los cambios y luego ENTER si está usando nano.
Conclusión
Hemos visto cómo modificar el archivo sudoers para que pueda ejecutar comandos sudo sin ingresar una contraseña. Esto es útil cuando tiene scripts en los que un usuario no root necesita realizar tareas administrativas.