Crear un usuario habilitado para sudo
Por defecto, durante la instalación de Linux se configura un usuario root que dispone de todos los derechos necesarios para administrar el sistema operativo. El resto de usuarios no disponen de derechos de administrador. Sin embargo, el comando sudo permite que ciertos usuarios autorizados puedan ejecutar programas con derechos root.
En este artículo le explicamos cómo crear un usuario habilitado para sudo.
Crear un usuario
CentOS 7, CentOS Stream 8 y CentOS Stream 9
Inicie sesión en el servidor deseado con los datos de acceso del usuario root.
Para crear un nuevo usuario, introduzca el siguiente comando:
[root@localhost ~]# adduser NOMBRE_DE_USUARIO
Ejemplo:
[root@localhost ~]# adduser juanaperezPara establecer la contraseña del nuevo usuario, introduzca el siguiente comando:
[root@localhost ~]# passwd NOMBRE_DE_USUARIO
Ejemplo:
[root@localhost ~]# passwd juanaperezIntroduzca la contraseña deseada y repítala.
Ubuntu 18.04, Ubuntu 20.04, Ubuntu 22.04, Debian 10 y Debian 11
Inicie sesión en el servidor deseado con los datos de acceso del usuario root.
Para crear un nuevo usuario, introduzca el siguiente comando:
[root@localhost ~]# adduser NOMBRE_DE_USUARIO
Ejemplo:
[root@localhost ~]# adduser juanaperezIntroduzca la contraseña deseada y repítala.
Opcional: si desea, introduzca información adicional sobre usuario, si no, pulse la tecla Enter.
Changing the user information for juanaperez
Enter the new value, or press ENTER for the default
Full Name [ ]:
Room Number [ ]:
Work Phone [ ]:
Home Phone [ ]:
Other [ ]:
Is the information correct? [Y/n]Introduzca Y y pulse la tecla Enter.
Suse Linux
Inicie sesión en el servidor deseado con los datos de acceso del usuario root.
Para crear un nuevo usuario, introduzca el siguiente comando:
localhost: ~ # useradd NOMBRE_DE_USUARIO
Ejemplo:
localhost: ~ # useradd juanaperezPara establecer la contraseña del nuevo usuario, introduzca el siguiente comando:
localhost: ~ # passwd NOMBRE_DE_USUARIO
Ejemplo:
localhost: ~ # passwd juanaperezIntroduzca la contraseña deseada y repítala.
Comprobar si se ha instalado sudo
Compruebe si se ha instalado sudo. Para ello, introduzca el siguiente comando:
sudo ls -la /root
Si se muestra el mensaje bash: sudo: command not found, sudo no está instalado.Si ya está instalado, sáltese este paso. Para instalar sudo, introduzca el siguiente comando:
CentOS 7, CentOS Stream 8 y CentOS Stream 9
yum install sudo -y
Debian y Ubuntu
apt install sudo
Suse Linux
zypper in sudo
Asignar permisos sudo a un usuario
CentOS 7, CentOS Stream 8 y CentOS Stream 9
Para asignar permisos sudo a un usuario en CentOS 7, CentOS Stream 8 y CentOS Stream 9, primero debe añadir el usuario al grupo wheel. Para ello, introduzca el siguiente comando:
[root@localhost ~]# usermod -aG wheel NOMBRE_DE_USUARIO
Ejemplo:
[root@localhost ~]# usermod -aG wheel juanaperez
Para comprobar si el cambio se ha realizado correctamente, introduzca el siguiente comando:
localhost:~ # groups NOMBRE_DE_USUARIO
Ejemplo:
localhost:~ # groups juanaperez
Debian y Ubuntu
Para asignar permisos sudo a un usuario en Debian y Ubuntu, primero debe añadir el usuario al grupo sudo. Para ello, introduzca el siguiente comando:
[root@localhost ~]# usermod -aG sudo NOMBRE_DE_USUARIO
Ejemplo:
[root@localhost ~]# usermod -aG sudo juanaperez
Para comprobar si el cambio se ha realizado correctamente, introduzca el siguiente comando:
localhost:~ # groups NOMBRE_DE_USUARIO
Ejemplo:
localhost:~ # groups juanaperez
Suse Linux
Para asignar permisos sudo a un usuario en Suse Linux, proceda con los siguientes pasos:
Primero debe localizar los paquetes system-group-wheel y system-user-mail. Para ello, introduzca el siguiente comando:
localhost:~ # zypper se wheel mailPara instalar los paquetes, introduzca los siguientes comandos:
localhost:~ # sudo zypper install system-group-wheel
localhost:~ # sudo zypper install system-user-mailAbra el archivo /etc/sudoers con el editor de texto vim. Introduzca el siguiente comando:
localhost:~ # visudoAsegúrese de que se han eliminado los comentarios en las siguientes líneas. Es posible que tenga que eliminar el carácter # al principio de la línea:
# Defaults targetpw # ask for the password of the target user i.e. root
y
# ALL ALL=(ALL) ALL # WARNING! Only use this together with 'Defaults targetpw'!
Nota
El editor de texto vim tiene un modo de inserción o edición y un modo de comando. Puede acceder al modo de inserción pulsando la tecla i. En este modo, los caracteres introducidos se insertan directamente en el texto. Para acceder al modo de comando, pulse la tecla ESC, de esta manera lo que introduzca con el teclado se interpretará como un comando.
Atención
Si solo elimina los comentarios en la línea "Defaults targetpw" y olvida quitar los comentarios en la línea "ALL ALL=(ALL) ALL # WARNING!", todos los usuarios tendrán acceso root a todos los programas y aplicaciones cuando introduzcan su contraseña.
Busque la entrada User privilege specification.
Para que los miembros del grupo wheel reciban los permisos para ejecutar todos los comandos, debe eliminar el símbolo # que se encuentra al principio de la siguiente línea y así eliminar el comentario:
# %wheel ALL=(ALL) ALLPara guardar los cambios, pulse la tecla ESC e introduzca el siguiente comando:
:wqPara asignar permisos sudo a un usuario, debe añadirlo al grupo wheel. Para ello, introduzca el siguiente comando:
localhost:~ # usermod -a -G wheel NOMBRE_DE_USUARIO
Ejemplo:
localhost:~ # usermod -a -G wheel juanaperezPara comprobar si el cambio se ha llevado a cabo correctamente, introduzca el siguiente comando:
localhost:~ # groups NOMBRE_DE_USUARIO
Ejemplo:
localhost:~ # groups juanaperezCree el archivo /etc/sudoers.d/userpw usando vi. Introduzca el siguiente comando:
localhost:~ # vi /etc/sudoers.d/userpwAñada la siguiente entrada:
Defaults !targetpwPara guardar los cambios, pulse la tecla ESC e introduzca el siguiente comando:
:wq
Verificar si el usuario ha obtenido los permisos sudo
Para verificar si los permisos sudo han sido concedidos, proceda con los siguientes pasos:
Para cambiar el usuario, introduzca el siguiente comando:
[root@localhost ~]# su NOMBRE_DE_USUARIO
Ejemplo:
[root@localhost ~]# su juanaperezAcceda al contenido del directorio /root. Para ello, introduzca el siguiente comando:
[juanaperez@localhost root]$ sudo ls -la /rootLa primera vez que utilice sudo dentro de una sesión, se le pedirá la contraseña del usuario.
Introduzca la contraseña.