El sudo
El comando permite a los usuarios de confianza ejecutar programas como otro usuario, por defecto el usuario root. Si pasa mucho tiempo en la línea de comando, sudo
es uno de los comandos que usará con frecuencia.
Por lo general, para otorgar acceso sudo a un usuario, debe agregar el usuario al grupo sudo definido en sudoers
expediente. En Debian, Ubuntu y sus derivados, miembros del grupo sudo
se les otorgan privilegios sudo mientras que en distribuciones basadas en RedHat como CentOS y Fedora, el nombre del grupo sudo es wheel
.
A cada miembro de este grupo se le pedirá que ingrese la contraseña antes de ejecutar 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 automatizados, es posible que deba configurar el archivo sudoers y permitir que ciertos usuarios ejecuten sudo
comandos sin que se le solicite la contraseña.
Agregar usuario al archivo Sudoers #
El archivo sudoers contiene información que determina los privilegios sudo de un usuario y un grupo.
Puede configurar el acceso sudo del usuario modificando el archivo sudoers o agregando un archivo de configuración a /etc/sudoers.d
directorio. Los archivos creados dentro de este directorio se incluirán en el archivo sudoers.
Antes de realizar cualquier cambio, es una buena idea 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 /etc/sudoers
archivo con el visudo
comando:
sudo visudo
Al realizar cambios en el archivo sudoers, utilice siempre visudo
. Este comando verifica el archivo después de editarlo y, si hay 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 visudo
El comando abre /etc/sudoers
archivo con el editor de texto vim. Si no tiene experiencia con vim, puede usar otro editor de texto. Por ejemplo, para cambiar el editor a GNU nano, ejecutaría:
sudo EDITOR=nano visudo
Desplácese hacia abajo hasta el final del archivo y agregue la siguiente línea que permitirá al usuario "linuxizar" ejecutar cualquier comando con sudo
sin que se le solicite una contraseña:
linuxize ALL=(ALL) NOPASSWD:ALL
No olvide cambiar "linuxize" con 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 NOPASSWD
palabra clave.
Por ejemplo, para permitir solo el mkdir
y mv
comandos que usaría:
linuxize ALL=(ALL) NOPASSWD:/bin/mkdir,/bin/mv
Una vez hecho esto, guarde el archivo y salga del editor.
Usando /etc/sudoers.d
#
En lugar de editar el archivo sudoers, puede crear un nuevo archivo con las reglas de autorización en /etc/sudoers.d
directorio. Este enfoque hace que la gestión de los privilegios de sudo sea más fácil de mantener.
Abre tu editor de texto y crea el archivo:
sudo nano /etc/sudoers.d/linuxize
Puede nombrar el archivo como desee, pero por lo general, es una buena idea usar el nombre de usuario como nombre del archivo.
/etc/sudoers.d/linuxizeAgregue la misma regla que agregaría al archivo sudoers:
linuxize ALL=(ALL) NOPASSWD:ALL
Finalmente, guarde el archivo y cierre el editor.
Conclusión #
Le mostramos cómo editar el /etc/sudoers
para que pueda ejecutar sudo
comandos sin introducir una contraseña. Esto es útil cuando tiene secuencias de comandos en las que un usuario no root necesita ejecutar tareas administrativas.
Si tiene alguna pregunta, no dude en dejar un comentario.