Adición de usuarios en Linux

LinuxLinuxBeginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

La gestión de usuarios en Linux es una habilidad fundamental para los administradores de sistemas. Implica crear, modificar y mantener cuentas de usuario para garantizar un acceso adecuado y la seguridad del sistema. En este laboratorio (LabEx), aprenderá cómo gestionar usuarios en un entorno Linux, centrándose en la adición de usuarios y la configuración de sus permisos. Estas habilidades son esenciales para mantener la seguridad e integridad de cualquier sistema Linux.

Creación de un nuevo usuario

Las cuentas de usuario en Linux permiten a las personas acceder al sistema con permisos específicos. Cada usuario tiene un nombre de usuario único, un identificador de usuario (UID, por sus siglas en inglés), un directorio personal (home directory) y una shell predeterminada.

En este paso, creará un nuevo usuario llamado "cipher" en el sistema.

  1. Abra la terminal en su entorno de máquina virtual (VM) de LabEx. La terminal ya debería estar en la ubicación predeterminada /home/labex/project.

  2. Utilice el comando useradd con las opciones adecuadas para crear el nuevo usuario:

sudo useradd -m -s /bin/bash cipher

Comprendamos el comando:

  • sudo: Este comando se ejecuta con privilegios de superusuario, que son necesarios para la gestión de usuarios.
  • useradd: Este es el comando utilizado para crear un nuevo usuario.
  • -m: Esta opción crea un directorio personal para el nuevo usuario en /home/cipher.
  • -s /bin/bash: Esto establece la shell predeterminada del usuario como bash.
  • cipher: Este es el nombre de usuario del nuevo usuario que estamos creando.
  1. Verifique que el usuario se haya creado listando los directorios personales:
ls -l /home

Debería ver una salida similar a la siguiente:

total 8
drwxr-xr-x 2 cipher cipher 4096 Oct 15 10:30 cipher
drwxr-xr-x 5 labex  labex  4096 Oct 15 10:00 labex

La entrada para cipher confirma que el usuario y su directorio personal se han creado correctamente.

Establecer una contraseña para el nuevo usuario

Cada cuenta de usuario debe tener una contraseña segura para prevenir el acceso no autorizado. En este paso, establecerás una contraseña para el usuario "cipher" que creaste en el paso anterior.

  1. Utiliza el comando passwd para establecer una contraseña para el usuario:
sudo passwd cipher
  1. Se te pedirá que ingreses una nueva contraseña dos veces. Escribe la contraseña de tu elección y presiona Enter después de cada entrada. Ten en cuenta que por razones de seguridad, la contraseña que escribas no se mostrará en la pantalla.
New password:
Retype new password:

Si ambas contraseñas coinciden, verás un mensaje de confirmación:

passwd: password updated successfully
  1. Verifica que la contraseña se haya establecido comprobando si el campo de contraseña en el archivo shadow ya no está vacío:
sudo grep cipher /etc/shadow | cut -d: -f2 | grep -v '!'

Si se devuelve una cadena de caracteres, significa que la contraseña se ha establecido correctamente. La salida no mostrará la contraseña real, sino su forma encriptada.

Vamos a entender el comando de verificación en detalle:

  • grep cipher /etc/shadow encuentra la línea que contiene nuestro usuario
  • cut -d: -f2 extrae el campo de contraseña (segundo campo)
  • grep -v '!' muestra solo las líneas que no contienen '!'

La última parte (grep -v '!') es particularmente importante porque en Linux:

  • Una cuenta sin contraseña o una cuenta bloqueada tendrá '!' en el campo de contraseña
  • Una cuenta con una contraseña válida tendrá un hash encriptado sin '!'

Por lo tanto, si el comando devuelve una salida, confirma que se ha establecido una contraseña válida sin exponer el hash real de la contraseña.

Visualización de información de usuario

Después de crear un usuario, es importante saber cómo ver información sobre ese usuario. Linux proporciona varios comandos para este propósito.

  1. Primero, vamos a verificar la información básica sobre el usuario "cipher" utilizando el comando id:
id cipher

Esto mostrará el identificador de usuario (uid), el identificador de grupo (gid) y los grupos a los que pertenece el usuario. La salida debería ser similar a:

uid=1001(cipher) gid=1001(cipher) groups=1001(cipher)
  1. Ahora, vamos a verificar la entrada del usuario en el archivo /etc/passwd, que contiene información básica del usuario:
grep cipher /etc/passwd

La salida será una línea que contiene campos separados por dos puntos. Por ejemplo:

cipher:x:1001:1001::/home/cipher:/bin/bash

Estos campos representan:

  • Nombre de usuario: cipher
  • Contraseña: x (la contraseña real se almacena en /etc/shadow)
  • Identificador de usuario: 1001
  • Identificador de grupo: 1001
  • Campo GECOS: (vacío en este caso, a menudo contiene el nombre completo del usuario)
  • Directorio personal: /home/cipher
  • Shell de inicio de sesión: /bin/bash
  1. También puede usar el comando finger para ver la información del usuario en un formato más legible. Primero, instale el paquete finger:
sudo apt-get update
sudo apt-get install -y finger
  1. Ahora use finger para ver información sobre el usuario cipher:
finger cipher

La salida mostrará la información en un formato más legible para humanos, incluyendo el estado de inicio de sesión y el directorio personal:

Login: cipher                           Name:
Directory: /home/cipher                 Shell: /bin/bash
Never logged in.
No mail.
No Plan.

Agregar un usuario a grupos

Linux utiliza grupos para organizar a los usuarios y controlar su acceso a archivos y recursos. En este paso, aprenderá cómo agregar un usuario a un grupo existente.

  1. Primero, creemos un nuevo grupo llamado "crypto" al que se agregará nuestro usuario:
sudo groupadd crypto
  1. Ahora, agregue el usuario "cipher" al grupo "crypto" utilizando el comando usermod:
sudo usermod -aG crypto cipher

En este comando:

  • sudo: Ejecuta el comando con privilegios de superusuario
  • usermod: El comando para modificar una cuenta de usuario
  • -aG: La opción para agregar el usuario a un grupo (-a para anexar, -G para grupos suplementarios)
  • crypto: El nombre del grupo
  • cipher: El nombre de usuario
  1. Verifique que el usuario se haya agregado al grupo comprobando los grupos a los que pertenece:
groups cipher

La salida debe incluir tanto el grupo "cipher" como el grupo "crypto":

cipher : cipher crypto
  1. También puede verificar la entrada del grupo en el archivo /etc/group:
grep crypto /etc/group

La salida debe mostrar el grupo y sus miembros:

crypto:x:1002:cipher

Conceder acceso sudo a un usuario

Para realizar tareas administrativas, los usuarios a menudo necesitan privilegios elevados. El comando sudo (superusuario hace) permite a los usuarios normales ejecutar comandos con privilegios administrativos. En este paso, aprenderá cómo conceder acceso sudo a un usuario.

  1. En Ubuntu, los usuarios con acceso sudo suelen agregarse al grupo "sudo". Agregue el usuario "cipher" al grupo sudo:
sudo usermod -aG sudo cipher
  1. Verifique que el usuario se haya agregado al grupo sudo:
groups cipher

La salida ahora debe incluir el grupo "sudo":

cipher : cipher crypto sudo
  1. Vamos a probar el acceso sudo cambiando al usuario "cipher" e intentando ejecutar un comando con sudo. Primero, cambie al usuario cipher:
sudo su - cipher
  1. Ahora intente ejecutar un comando que requiera privilegios sudo:
sudo ls /root
  1. Se le pedirá la contraseña que estableció para el usuario cipher. Después de ingresarla correctamente, el comando debería ejecutarse correctamente, mostrando el contenido del directorio /root.

  2. Salga de la sesión del usuario cipher para volver al usuario labex:

exit

Resumen

En este laboratorio, ha aprendido los conceptos fundamentales de la gestión de usuarios en Linux. Ha creado con éxito un nuevo usuario, establecido una contraseña, visto la información del usuario, agregado el usuario a grupos y concedido acceso sudo. Estas habilidades son esenciales para que los administradores de sistemas mantengan la seguridad y controlen el acceso a los recursos en los sistemas Linux.

La gestión de usuarios es un aspecto crítico de la administración de sistemas, y los comandos y conceptos que ha aprendido aquí constituyen la base para tareas más avanzadas de gestión de usuarios y permisos. Al dominar estos conceptos básicos, está en el camino correcto para convertirse en un experto en la administración de sistemas Linux.