Servidor Clouds, VPS, Servidor Virtual, Servidor Dedicado y Servidor a precio especial

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 te explicamos cómo crear un usuario habilitado para sudo.

Crear un usuario

CentOS Stream 8, CentOS Stream 9, AlmaLinux 8, AlmaLinux 9, Rocky  Linux 8 y Rocky Linux 9
  • Inicia sesión en el servidor deseado con los datos de acceso del usuario root.

  • Para crear un nuevo usuario, introduce el siguiente comando:

    [root@localhost ~]# adduser NOMBRE_DE_USUARIO

    Por ejemplo:

    [root@localhost ~]# adduser juanaperez

  • Para establecer la contraseña del nuevo usuario, introduce el siguiente comando:

    [root@localhost ~]# passwd NOMBRE_DE_USUARIO

    Por ejemplo:

    [root@localhost ~]# passwd juanaperez

  • Introduce la contraseña deseada y repítela.

 
Ubuntu 18.04, Ubuntu 20.04, Ubuntu 22.04, Debian 10, Debian 11 y Debian 12
  • Inicia sesión en el servidor deseado con los datos de acceso del usuario root.

  • Para crear un nuevo usuario, introduce el siguiente comando:

    [root@localhost ~]# adduser NOMBRE_DE_USUARIO

    Por ejemplo:

    [root@localhost ~]# adduser juanaperez

  • Introduce la contraseña deseada y repítela.

  • Opcional: Si lo deseas, introduce información adicional sobre usuario, de lo contrario, pulsa 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]

  • Introduce «Y» y pulsa la tecla Enter.

Suse Linux
  • Inicia sesión en el servidor deseado con los datos de acceso del usuario root.

  • Para crear un nuevo usuario, introduce el siguiente comando:

    localhost: ~ #  useradd NOMBRE_DE_USUARIO

    Por ejemplo:

    localhost: ~ # useradd juanaperez

  • Para establecer la contraseña del nuevo usuario, introduce el siguiente comando:

    localhost: ~ # passwd NOMBRE_DE_USUARIO

    Por ejemplo:

    localhost: ~ # passwd juanaperez

  • Introduce la contraseña deseada y repítela.

Comprobar si se instaló sudo y, de lo contrario, instalarlo

  • Comprueba si se instaló sudo. Para ello, introduce 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áltate este paso. 

    Para instalar sudo, introduce el siguiente comando:

    CentOS Stream 8, CentOS Stream 9, AlmaLinux 8, AlmaLinux 9, Rocky Linux 8 y Rocky Linux 9

    yum install sudo -y

    Debian y Ubuntu

    apt install sudo

    Suse Linux

    zypper in sudo

Instalar Vim

Si el editor de texto Vim no está instalado, introduce los siguientes comandos para instalarlo:

CentOS Stream 8, CentOS Stream 9, AlmaLinux 8, AlmaLinux 9, Rocky Linux 8 y Rocky Linux 9

sudo yum install vim

Ubuntu und Debian

sudo apt-get install vim

Suse Linux

sudo zypper search vim
sudo zypper install vim

Asignar permisos sudo a un usuario

CentOS Stream 8 und CentOS Stream 9, AlmaLinux 8, AlmaLinux 9, Rocky Linux 8 y Rocky Linux 9

Para asignar permisos sudo a un usuario, primero debes añadir el usuario al grupo wheel. Para ello, introduce el siguiente comando:

[root@localhost ~]# usermod -aG wheel NOMBRE_DE_USUARIO

Por ejemplo:

[root@localhost ~]# usermod -aG wheel juanaperez

Para comprobar si el cambio se realizó correctamente, introduce el siguiente comando:

localhost:~ # groups NOMBRE_DE_USUARIO

Por ejemplo:

localhost:~ # groups juanaperez


Debian y Ubuntu

Para asignar permisos sudo a un usuario en Debian y Ubuntu, primero debes añadir al usuario al grupo sudo. Para ello, introduce el siguiente comando:

[root@localhost ~]# usermod -aG sudo NOMBRE_DE_USUARIO

Por ejemplo:

[root@localhost ~]# usermod -aG sudo juanaperez

Para comprobar si el cambio se realizó correctamente, introduce el siguiente comando:

localhost:~ # groups NOMBRE_DE_USUARIO

Por ejemplo:

localhost:~ # groups juanaperez

 

Suse Linux

Para asignar permisos sudo a un usuario en Suse Linux, procede con los siguientes pasos:

  • Primero debes localizar los packs system-group-wheel y system-user-mail. Para ello, introduce el siguiente comando:

    localhost:~ # zypper se wheel mail

  • Para instalar los packs, introduce los siguientes comandos:

    localhost:~ # sudo zypper install system-group-wheel
    localhost:~ # sudo zypper install system-user-mail

  • Abre el archivo /etc/sudoers con el editor de texto vim. Introduce el siguiente comando:

    localhost:~ # visudo

  • Asegúrate de que se eliminaron los comentarios en las siguientes líneas. Es posible que tengas 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 edición y un modo de comandos. Puedes acceder al modo de edición pulsando la tecla i. En este modo, los caracteres introducidos se insertan directamente en el texto. Para acceder al modo de comandos, pulsa la tecla ESC, de esta manera lo que introduzcas con el teclado se interpretará como un comando.

Advertencia

Si solo eliminas los comentarios en la línea «Defaults targetpw» y olvidas 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 la contraseña.

  • Busca la entrada User privilege specification.

  • Para que los miembros del grupo wheel reciban los permisos para ejecutar todos los comandos, debes eliminar el símbolo # que se encuentra al principio de la siguiente línea y así eliminar el comentario:

    # %wheel ALL=(ALL) ALL

  • Para guardar los cambios, pulsa la tecla ESC e introduce el siguiente comando:

    :wq

  • Para asignar permisos sudo a un usuario, debes añadirlo al grupo wheel. Para ello, introduce el siguiente comando:

    localhost:~ # usermod -a -G wheel NOMBRE_DE_USUARIO

    Por ejemplo:

    localhost:~ # usermod -a -G wheel juanaperez

  • Para comprobar si el cambio se llevó a cabo correctamente, introduce el siguiente comando:
     

    localhost:~ # groups NOMBRE_DE_USUARIO

    Por ejemplo:

    localhost:~ # groups juanaperez

  • Crea el archivo /etc/sudoers.d/userpw usando vi. Introduce el siguiente comando:

    localhost:~ # vi /etc/sudoers.d/userpw

  • Añade la siguiente entrada:

    Defaults !targetpw

  • Para guardar los cambios, pulsa la tecla ESC e introduce el siguiente comando:

    :wq

Verificar si el usuario ha obtenido los permisos sudo

Para verificar si los permisos sudo han sido concedidos, procede con los siguientes pasos:

  • Para cambiar el usuario, introduce el siguiente comando:

    [root@localhost ~]# su NOMBRE_DE_USUARIO

    Por ejemplo:

    [root@localhost ~]# su juanaperez

  • Accede al contenido del directorio /root. Para ello, introduce el siguiente comando:

    [juanaperez@localhost root]$ sudo ls -la /root

  • La primera vez que utilices sudo dentro de una sesión, se te pedirá la contraseña del usuario.

  • Introduce la contraseña.