sudo
es una utilidad de línea de comandos que permite a los usuarios de confianza ejecutar comandos como otro usuario, por defecto como root.
Este tutorial muestra dos formas de otorgar privilegios sudo a un usuario. El primero es agregar al usuario al archivo sudoers. Este archivo contiene un conjunto de reglas que determina a qué usuarios o grupos se les conceden privilegios sudo, así como el nivel de los privilegios. La segunda opción es agregar el usuario al grupo sudo especificado en el sudoers
expediente. De forma predeterminada, en Debian y sus derivados, los miembros del grupo "sudo" tienen acceso a sudo.
Agregar usuario al grupo sudo #
La forma más rápida y sencilla de otorgar privilegios sudo a un usuario es agregar el usuario al grupo "sudo". Los miembros de este grupo pueden ejecutar cualquier comando como root a través de sudo
y se les pedirá que se autentiquen con su contraseña cuando usen sudo
.
Suponemos que el usuario que desea asignar al grupo ya existe.
Ejecute el siguiente comando como root u otro usuario sudo para agregar el usuario al grupo sudo
usermod -aG sudo username
Asegúrese de cambiar "nombre de usuario" con el nombre del usuario al que desea conceder acceso.
Otorgar acceso a sudo usando este método es suficiente para la mayoría de los casos de uso.
Para asegurarse de que el usuario se haya agregado al grupo, escriba:
sudo whoami
Se le pedirá que ingrese la contraseña. Si el usuario tiene acceso sudo, el comando imprimirá "root". De lo contrario, obtendrá un error que dice "el usuario no está en el archivo sudoers".
Agregar usuario al archivo sudoers #
Los privilegios sudo de usuarios y grupos se definen en el /etc/sudoers
expediente. Este archivo le permite otorgar acceso personalizado a los comandos y establecer políticas de seguridad personalizadas.
Puede configurar el acceso de los usuarios editando el archivo sudoers o creando un nuevo archivo de configuración en /etc/sudoers.d
directorio. Los archivos dentro de este directorio están incluidos en el archivo sudoers.
Utilice siempre el visudo
comando para editar el /etc/sudoers
expediente. Este comando verifica el archivo en busca de errores de sintaxis cuando lo guarda. Si hay algún error, el archivo no se guarda. Si edita el archivo con un editor de texto normal, un error de sintaxis puede resultar en la pérdida del acceso a sudo.
visudo
utiliza el editor especificado por el EDITOR
variable de entorno, que se establece de forma predeterminada en vim. Si desea editar el archivo con nano, cambie la variable ejecutando:
EDITOR=nano visudo
Supongamos que desea permitir que el usuario ejecute comandos sudo sin que se le solicite una contraseña. Para hacer eso, abra el /etc/sudoers
archivo:
visudo
Desplácese hacia abajo hasta el final del archivo y agregue la siguiente línea:
/etc/sudoersusername ALL=(ALL) NOPASSWD:ALL
Guarde el archivo y salga del editor. No olvide cambiar "nombre de usuario" con el nombre de usuario al que desea conceder acceso.
Otro ejemplo típico es permitir que el usuario ejecute solo comandos específicos a través de sudo
. Por ejemplo, para permitir solo el mkdir
y rmdir
comandos que usaría:
username ALL=(ALL) NOPASSWD:/bin/mkdir,/bin/rmdir
En lugar de editar el archivo sudoers, puede lograr lo mismo creando un nuevo archivo con las reglas de autorización en /etc/sudoers.d
directorio. Agregue la misma regla que agregaría al archivo sudoers:
echo "username ALL=(ALL) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/username
Este enfoque hace que la gestión de los privilegios de sudo sea más fácil de mantener. El nombre del archivo no es importante, pero es una práctica común nombrar el archivo según el nombre de usuario.