sudo
es un programa de línea de comandos que permite a los usuarios de confianza ejecutar comandos como root u otro usuario.
En este artículo, le mostraremos dos formas de otorgar privilegios de sudo a un usuario. El primero es agregar al usuario al archivo sudoers. Este archivo contiene información que controla a qué usuarios y grupos se les otorgan 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 las distribuciones basadas en Debian como Ubuntu y Linux Mint, los miembros del grupo "sudo" tienen acceso a sudo.
Agregar usuario al grupo sudo #
En Ubuntu, la forma más fácil de otorgar privilegios de sudo a un usuario es agregarlo 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 ya existe. Si desea crear un nuevo usuario, consulte esta guía.
Para agregar el usuario al grupo, ejecute el siguiente comando como root u otro usuario sudo. Asegúrese de cambiar "nombre de usuario" con el nombre del usuario al que desea otorgar permisos.
usermod -aG sudo username
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 tenga privilegios sudo, ejecute whoami
comando:
sudo whoami
Se le pedirá que ingrese la contraseña. Si el usuario tiene acceso sudo, el comando imprimirá "root":
root
Si recibe un error que dice "el usuario no está en el archivo sudoers", significa que el usuario no tiene privilegios sudo.
Agregar usuario al archivo sudoers #
Los privilegios sudo de usuarios y grupos se definen en el /etc/sudoers
expediente. Agregar el usuario a este archivo le permite otorgar acceso personalizado a los comandos y configurar políticas de seguridad personalizadas.
Puede configurar el acceso sudo del usuario modificando 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 visudo
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 abre el archivo con un editor de texto, un error de sintaxis puede resultar en la pérdida del acceso a sudo.
Normalmente, visudo
usa vim para abrir /etc/sudoers
. Si no tiene experiencia con vim y desea editar el archivo con nano, cambie el editor predeterminado 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 un 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, 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. Es una práctica común que el nombre del archivo sea el mismo que el nombre de usuario.