Gestión de Cuentas de Usuario

LinuxBeginner
Practicar Ahora

Introducción

Esta práctica de laboratorio le guiará a través de las operaciones básicas de gestión de cuentas de usuario en sistemas Linux. Aprenderá a crear, modificar y eliminar cuentas de usuario, así como a establecer y cambiar contraseñas. Estas son habilidades fundamentales para la administración de sistemas Linux. No se preocupe si es nuevo en Linux: ¡le explicaremos todo paso a paso!

Este es un Laboratorio Guiado, que proporciona instrucciones paso a paso para ayudarle a aprender y practicar. Siga las instrucciones cuidadosamente para completar cada paso y ganar experiencia práctica. Los datos históricos muestran que este es un laboratorio de nivel principiante con una tasa de finalización del 87%. Ha recibido una tasa de valoraciones positivas del 99% por parte de los alumnos.

Creación de un Nuevo Usuario

Comencemos creando una nueva cuenta de usuario llamada "joker".

  1. Abra una terminal. En Linux, la terminal es una interfaz de texto donde puede introducir comandos.
  2. Escriba el siguiente comando y pulse Enter:
sudo useradd joker

Analicemos este comando:

  • sudo es un comando que le otorga privilegios temporales de superusuario (administrador). Lo usamos porque la creación de un nuevo usuario requiere estos permisos de alto nivel.
  • useradd es el comando para crear un nuevo usuario.
  • joker es el nombre de usuario que estamos creando.

Nota: Si intenta ejecutar este comando sin sudo, recibirá un error de "permiso denegado". Esto se debe a que los usuarios normales no tienen permiso para crear nuevas cuentas de usuario; es una tarea reservada para los administradores del sistema.

Esto resalta la diferencia entre un superusuario y un usuario común. Como usuario común, no puede crear nuevas cuentas, pero al usar sudo, puede elevar temporalmente sus privilegios para realizar esta tarea administrativa.

  1. Para verificar que el usuario fue creado, examinaremos el archivo /etc/passwd:
sudo grep -w 'joker' /etc/passwd

El archivo /etc/passwd es como una agenda de contactos para las cuentas de usuario. Cada línea representa una cuenta, con diferentes piezas de información separadas por dos puntos (:).

Debería ver una salida similar a:

joker:x:5001:5001::/home/joker:/bin/sh

Esta línea muestra:

  • Nombre de usuario: joker
  • Contraseña: x (la contraseña real se almacena de forma segura en otro lugar)
  • ID de Usuario (UID): 5001
  • ID de Grupo (GID): 5001
  • Directorio Personal: /home/joker, aunque aún no se ha creado
  • Shell predeterminado: /bin/sh

Creación de un Usuario con Directorio Personal

Ahora, vamos a crear otro usuario llamado "bob" y le asignaremos un directorio personal.

  1. Ejecute el siguiente comando:
sudo useradd -m bob

La opción -m le indica al sistema que cree un directorio personal (home) para el usuario. Un directorio personal es como una carpeta privada donde el usuario puede guardar sus archivos y configuraciones.

  1. Verifiquemos que el directorio personal fue creado:
sudo ls -ld /home/bob

Debería ver una salida similar a:

drwxr-x--- 2 bob bob 57 Jan 19 13:33 /home/bob

Esta salida indica:

  • La d al principio significa que es un directorio.
  • rwxr-x--- muestra quién puede leer, escribir o ejecutar en este directorio.
  • Las dos entradas bob muestran que tanto el usuario como el grupo propietario de este directorio es bob.
  • 57 es el tamaño del directorio en bytes.
  • Jan 19 13:33 es la fecha y hora de creación.
  • /home/bob es la ubicación del directorio.

Configuración de la Contraseña de Usuario

Ahora necesitamos establecer una contraseña para nuestros nuevos usuarios. Vamos a configurar la de "joker".

  1. Ejecute el siguiente comando:
sudo passwd joker
  1. Se le pedirá que introduzca una nueva contraseña dos veces. Para este laboratorio, use una contraseña sencilla como "password123".

Importante: La contraseña no se mostrará mientras la escribe. Esta es una medida de seguridad en Linux para evitar que otros vean su contraseña al teclearla. Si se equivoca, simplemente puede intentarlo de nuevo.
Importante: ¡Recuerde esta contraseña! La necesitará más adelante.

  1. Si tiene éxito, verá un mensaje que dice "passwd: password updated successfully".

Nota: En un entorno real, ¡utilice siempre contraseñas robustas y únicas!

Internamente, Linux almacena las contraseñas cifradas en un archivo seguro llamado /etc/shadow. Esto es mucho más seguro que guardarlas en /etc/passwd, donde cualquiera podría verlas.

Modificación de Propiedades de Usuario

Linux nos permite cambiar varios ajustes de una cuenta de usuario después de haberla creado. Vamos a cambiar el directorio personal de joker como ejemplo.

  1. Ejecute el siguiente comando:
sudo usermod -d /home/wayne joker

Esto es lo que hace:

  • usermod es el comando para modificar los ajustes de una cuenta de usuario.
  • -d /home/wayne especifica el nuevo directorio personal.
  • joker es el usuario que estamos modificando.
  1. Verifiquemos el cambio:
sudo grep -w 'joker' /etc/passwd

La opción -w se utiliza para buscar la palabra exacta, y grep busca dicha palabra en el archivo. Debería ver en la salida que el directorio personal de joker ha sido actualizado.

Cambio del Shell del Usuario

Otro ajuste importante que podemos modificar es el shell predeterminado del usuario. El shell es el programa que interpreta y ejecuta los comandos que usted escribe en la terminal.

Por defecto, el usuario 'joker' está usando /bin/sh. Aunque sh (Bourne Shell) es un shell básico presente en casi todos los sistemas tipo Unix, bash (Bourne Again Shell) ofrece más funciones y es generalmente más amigable para el usuario.

Cambiar el shell de joker a bash ofrece varias ventajas:

  • Interfaz de línea de comandos más intuitiva.
  • Capacidades de scripting mejoradas.
  • Mejores opciones de personalización para el entorno del usuario.

Así es como se realiza el cambio:

  1. Cambie el shell predeterminado de joker a bash:
sudo usermod -s /bin/bash joker
  1. Verifique el cambio:
sudo grep -w 'joker' /etc/passwd

Debería ver /bin/bash al final de la entrada de joker. Esto significa que bash es ahora su shell por defecto.

Tras este cambio, joker tendrá acceso al entorno bash, mucho más completo, cada vez que inicie sesión o abra una nueva terminal.

Adición de un Usuario a un Grupo

En Linux, utilizamos los grupos para organizar a los usuarios y gestionar permisos. Un grupo fundamental es el grupo sudo, que otorga privilegios administrativos. Vamos a añadir a joker al grupo sudo como ejemplo.

¿Por qué añadiríamos a un usuario al grupo sudo?

  1. Administración del sistema: Los usuarios en este grupo pueden realizar tareas administrativas en todo el sistema.
  2. Instalación de software: Pueden instalar y actualizar paquetes de software.
  3. Cambios de configuración: Pueden modificar archivos de configuración del sistema.
  4. Gestión de usuarios: Pueden crear, modificar o eliminar otras cuentas.

Quizás se pregunte: "¿Por qué añadir a alguien al grupo sudo si siempre podemos usar el comando 'sudo'?" He aquí el motivo:

  • Conveniencia: Los miembros del grupo sudo pueden usar el comando sin necesidad de conocer la contraseña de root; usan su propia contraseña.
  • Control granular: Los administradores pueden configurar sudo para permitir que ciertos usuarios ejecuten solo comandos específicos.
  • Rendición de cuentas: A diferencia de compartir la contraseña de root, sudo registra quién ejecutó cada comando, mejorando la seguridad y la trazabilidad.
  • Seguridad: Es más seguro tener cuentas nominales con acceso sudo que compartir la contraseña maestra de root entre varios administradores.

En un escenario real, añadiría a alguien al grupo sudo si:

  • Es un administrador de sistemas o personal de TI que necesita realizar tareas de mantenimiento regulares.
  • Es un desarrollador que necesita instalar software específico o realizar cambios en el sistema para su trabajo.
  • Es un usuario avanzado que requiere privilegios elevados para ciertas tareas, pero no desea entregarle la contraseña de root.

Recuerde que añadir a un usuario al grupo sudo le otorga un poder significativo sobre el sistema, por lo que debe hacerse con precaución y solo cuando sea necesario.

Ahora, añadamos a joker al grupo sudo:

  1. Ejecute este comando:
sudo usermod -aG sudo joker

Explicación:

  • usermod es el comando para modificar usuarios.
  • -aG significa "append to Group" (añadir al grupo sin eliminarlo de otros grupos).
  • sudo es el grupo al que estamos añadiendo al usuario.
  • joker es el usuario en cuestión.
  1. Verifique el cambio:
groups joker

Debería ver sudo listado entre los grupos de joker.

  1. Para ver el efecto de este cambio, debemos cambiar al usuario joker e intentar un comando que requiera privilegios de sudo:
su - joker

Este comando cambia de su usuario actual (labex) al usuario joker. Se le pedirá la contraseña de joker (password123). Recuerde que no verá caracteres en pantalla mientras escribe.

  1. Una vez iniciada la sesión como joker, intentemos ver un archivo que normalmente requiere privilegios de root:
sudo cat /etc/shadow

Introduzca de nuevo la contraseña de joker cuando se le solicite. Debería poder ver el contenido del archivo /etc/shadow, que normalmente solo es accesible para root. Esto confirma que joker tiene ahora privilegios de sudo.

  1. Cuando termine, escriba exit para volver a su cuenta de usuario original (labex).

Nota: En un entorno de producción, debe ser muy cuidadoso con quién añade al grupo sudo. ¡Un gran poder conlleva una gran responsabilidad!

Bloqueo y Desbloqueo de Cuentas de Usuario

A veces, es posible que necesite desactivar temporalmente una cuenta de usuario sin llegar a eliminarla.

  1. Bloquee la cuenta de joker:
sudo passwd -l joker

La opción -l (lock) bloquea la contraseña.

  1. Intente cambiar al usuario joker:
su - joker

Se le pedirá la contraseña. Introduzca la que configuró anteriormente.

Debería ver un mensaje de "authentication failure" (fallo de autenticación). Esto significa que la cuenta se ha bloqueado correctamente.

  1. Ahora, vamos a desbloquear la cuenta:
sudo passwd -u joker

La opción -u (unlock) desbloquea la contraseña.

  1. Intente cambiar al usuario joker de nuevo:
su - joker

Introduzca la contraseña. Esta vez, debería poder acceder a la cuenta de joker sin problemas.

Escriba exit para volver a su cuenta original antes de continuar con el siguiente paso.

Eliminación de un Usuario

Finalmente, aprendamos cómo eliminar un usuario. Eliminaremos al usuario "bob" que creamos anteriormente.

  1. Elimine a bob y su directorio personal:
sudo userdel -r bob

El comando userdel elimina cuentas de usuario. La opción -r elimina también el directorio personal del usuario y su buzón de correo.

  1. Verifique que el usuario ha sido eliminado:
sudo grep -w 'bob' /etc/passwd
sudo ls -ld /home/bob

Ambos comandos no deberían devolver ningún resultado. Esto significa que tanto el usuario como su directorio han sido eliminados con éxito.

Resumen

¡Enhorabuena! Ha completado el laboratorio de Gestión de Cuentas de Usuario en Linux. Ha aprendido a:

  1. Crear nuevas cuentas de usuario.
  2. Establecer contraseñas de usuario.
  3. Modificar propiedades de usuario como el directorio personal y el shell predeterminado.
  4. Añadir usuarios a grupos.
  5. Bloquear y desbloquear cuentas de usuario.
  6. Eliminar cuentas de usuario.

También se ha familiarizado con conceptos importantes de Linux como el archivo /etc/passwd, los directorios personales, los shells y los grupos de usuarios. Estas son habilidades fundamentales para la administración de sistemas Linux. Recuerde que, en entornos reales, siempre debe seguir las políticas de seguridad de su organización al gestionar cuentas de usuario.