sudo
es una utilidad de línea de comandos diseñada para permitir que los usuarios de confianza ejecuten comandos como otro usuario, por defecto el usuario root.
Tiene dos opciones para otorgar acceso sudo a un usuario. El primero es agregar al usuario al archivo sudoers. Este archivo contiene información que define a qué usuarios y grupos se les conceden privilegios sudo, así como el nivel de los privilegios.
La segunda opción es agregar el usuario al grupo sudo definido en el sudoers
expediente. De forma predeterminada, en las distribuciones basadas en RedHat como CentOS y Fedora, los miembros del grupo "rueda" reciben privilegios de sudo.
Agregar usuario al grupo de ruedas #
La forma más fácil de otorgar privilegios de sudo a un usuario en CentOS es agregar al usuario al grupo "rueda". Los miembros de este grupo pueden ejecutar todos los comandos 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. Cambie "nombre de usuario" con el nombre del usuario al que desea otorgar permisos.
usermod -aG wheel username
Otorgar acceso a sudo usando este método es suficiente para la mayoría de los casos de uso.
Para probar el acceso 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 configuran 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 para el usuario.
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.
Para editar el /etc/sudoers
archivo, use el visudo
dominio. 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 tienes experiencia con vim y quieres editar el archivo con nanotype:
EDITOR=nano visudo
Supongamos que desea permitir que el usuario ejecute comandos sudo sin que se le solicite una contraseña. 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 común es permitir que el usuario ejecute solo comandos específicos a través de sudo
. Por ejemplo, para permitir solo el du
y ping
comandos que usaría:
username ALL=(ALL) NOPASSWD:/usr/bin/du,/usr/bin/ping
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.