DÍA 05: El Guardián de las Llaves

LinuxBeginner
Practicar Ahora

Introducción

¡Bienvenido a tu último día de la semana en LabEx Corporation! Ha sido un viaje increíble, desde tu primera misión de reconocimiento hasta convertirte en el Guardián de la Fortaleza. Ahora, la empresa te asciende a la posición de máxima confianza: Guardián de las Llaves del Proyecto Phoenix.

El CTO te aparta para una sesión informativa crítica: "El Proyecto Phoenix está entrando en su fase final y necesitamos un control absoluto sobre quién tiene acceso a nuestros sistemas. Vamos a incorporar a una nueva desarrolladora senior, Brenda Smith, quien liderará el impulso final hacia la finalización. Desafortunadamente, también descubrimos que John Doe, un contratista del equipo anterior, tuvo acceso no autorizado durante el incidente de seguridad que investigaste anteriormente. Su acceso debe ser revocado de inmediato".

Como Guardián de las Llaves, ahora controlas la puerta de entrada humana al Proyecto Phoenix. Tus decisiones de gestión de usuarios determinarán quién puede contribuir al proyecto más importante de TechNova y quién debe ser bloqueado por razones de seguridad.

Este es tu momento para demostrar un dominio completo de la administración de usuarios en Linux. El futuro del Proyecto Phoenix depende de tu capacidad para otorgar acceso a quienes lo necesitan y denegarlo a quienes podrían comprometer el sistema. ¡Completemos esta misión!

Incorporación de una nueva desarrolladora al sistema

Tu primera tarea es crear una cuenta de usuario para Brenda Smith, la desarrolladora senior que liderará la fase final de desarrollo del Proyecto Phoenix. La política de TechNova dicta que los nombres de usuario deben seguir el formato inicial_nombre.apellido.

Tareas

  • Crear una nueva cuenta de usuario para Brenda Smith.

Requisitos

  • El nombre de usuario debe ser b.smith.
  • Utiliza el comando useradd para añadir el nuevo usuario al sistema. Necesitarás privilegios de sudo.

Pistas

  • Este desafío espera el uso del comando estándar useradd en lugar del asistente interactivo adduser.
  • Recuerda usar sudo para ejecutar comandos con privilegios administrativos.

Ejemplos

Después de crear con éxito la nueva cuenta de usuario, deberías ver la entrada del usuario en la base de datos de usuarios del sistema:

$ grep "b.smith" /etc/passwd
b.smith:x:5002:5004::/home/b.smith:/bin/sh

La cuenta de usuario se creará con un ID de usuario y un ID de grupo asignados por el sistema. Puedes verificar que la cuenta existe y comprobar sus detalles usando:

$ id b.smith
uid=5002(b.smith) gid=5004(b.smith) groups=5004(b.smith)

Creación de un directorio personal dedicado para el nuevo usuario

Has creado el usuario, ¡pero olvidaste un paso crucial! Brenda, como desarrolladora senior que lidera la fase final del Proyecto Phoenix, necesita su propio espacio de trabajo seguro para almacenar archivos críticos del proyecto y herramientas de desarrollo. Debes asegurarte de que se cree un directorio personal (home directory) para ella.

Tareas

  • Crear un directorio personal para el usuario b.smith ubicado en /home/b.smith.

Requisitos

  • El directorio personal debe crearse para el usuario b.smith.
  • Debes usar una opción con el comando useradd para crear el directorio personal automáticamente. Si ya has creado el usuario sin un directorio personal, es posible que debas eliminar el usuario primero y luego volver a crearlo correctamente.
  • Las soluciones válidas incluyen -m o --create-home, y el indicador puede aparecer antes o después del nombre de usuario.

Pistas

  • Para eliminar un usuario, puedes usar el comando userdel. Por ejemplo: sudo userdel b.smith.
  • El comando useradd tiene un indicador específico para crear un directorio personal para el usuario. Consulta la página man useradd para ver una opción como -m o --create-home.

Ejemplos

Después de crear el usuario con un directorio personal, deberías ver el nuevo directorio creado en el listado del directorio /home/:

$ ls -la /home/
drwxr-xr-x 1 root root 47 Sep 3 16:32 .
drwxr-xr-x 1 root root 62 Sep 3 16:31 ..
-rw-r--r-- 1 root root 58 Jul 18 2024 .zshrc
drwxr-x--- 2 b.smith b.smith 57 Sep 3 16:32 b.smith
drwxr-x--- 2 j.doe j.doe 57 Sep 3 16:31 j.doe
drwxr-x--- 1 labex labex 4096 Sep 3 16:35 labex

El directorio personal será propiedad del usuario con permisos restringidos (accesible solo por el propietario y el grupo). Para ver el contenido, es posible que necesites los permisos adecuados o usar sudo:

$ sudo ls -la /home/b.smith/
drwxr-x--- 2 b.smith b.smith 57 Sep 3 16:32 .
drwxr-xr-x 1 root root 47 Sep 3 16:32 ..
-rw-r--r-- 1 b.smith b.smith 220 Sep 3 16:32 .bash_logout
-rw-r--r-- 1 b.smith b.smith 3771 Sep 3 16:32 .bashrc
-rw-r--r-- 1 b.smith b.smith 655 Sep 3 16:32 .profile

Asignación de una contraseña inicial para el nuevo usuario

La cuenta de usuario b.smith está creada, pero actualmente está bloqueada. Brenda no puede acceder a los sistemas del Proyecto Phoenix para comenzar su rol de liderazgo sin una contraseña. Tu siguiente tarea es establecer una contraseña segura inicial para su cuenta.

Tareas

  • Establecer una contraseña para el usuario b.smith.

Requisitos

  • Utiliza el comando estándar de Linux para cambiar la contraseña de un usuario.
  • Se te pedirá que ingreses y confirmes la nueva contraseña. Puedes usar cualquier contraseña simple, por ejemplo, password123.

Pistas

  • El comando para establecer o cambiar contraseñas es passwd.
  • Como estás cambiando la contraseña de otro usuario, necesitarás privilegios de sudo. La sintaxis es sudo passwd <nombre_de_usuario>.

Ejemplos

Después de establecer la contraseña con éxito, la cuenta de usuario debería tener un hash de contraseña en el archivo shadow. Puedes verificar esto comprobando el archivo shadow (nota: esto requiere privilegios de root):

$ sudo grep "^b.smith:" /etc/shadow
b.smith:$y$j9T$XbJLH9LJgY518Th4qcd1V0$NrfHOJ2MGm/1OhLGfpfMQkvPasV23Eenhwl9bA0i8O4:20334:0:99999:7:::

Añadir a la nueva desarrolladora al grupo "developers"

Para asegurarte de que Brenda tenga acceso a los archivos y repositorios del Proyecto Phoenix que has estado protegiendo toda la semana, debe ser añadida al grupo developers. Este es el mismo grupo con el que has estado trabajando durante tu tiempo en TechNova, y tiene los permisos especiales necesarios para el proyecto.

Tareas

  • Añadir al usuario b.smith al grupo developers.

Requisitos

  • El usuario b.smith debe ser miembro del grupo developers.
  • Las membresías de grupo existentes del usuario no deben eliminarse.

Pistas

  • El comando usermod se utiliza para modificar una cuenta de usuario.
  • Busca los indicadores -a (append) y -G (groups). Usarlos juntos asegura que añadas al usuario a un nuevo grupo sin eliminarlo de los existentes.

Ejemplos

Después de añadir con éxito al usuario al grupo developers, deberías ver la membresía del grupo reflejada en la lista de grupos del usuario:

$ groups b.smith
b.smith : b.smith developers

También puedes verificar usando el comando id para ver información más detallada sobre el grupo:

$ id b.smith
uid=5002(b.smith) gid=5004(b.smith) groups=5004(b.smith),5003(developers)

El usuario ahora debería tener acceso a archivos y directorios accesibles para el grupo developers. Puedes comprobar el archivo de grupos para confirmar que el grupo existe:

$ grep "^developers:" /etc/group
developers:x:5003:b.smith

Observa que b.smith aparece en la lista de miembros del grupo. Esto confirma que el usuario ha sido añadido con éxito al grupo mientras se conservan sus membresías de grupo existentes.

Desactivación temporal de la cuenta de un empleado que se marcha

Ahora, tu última tarea de la semana, y la acción de seguridad más crítica para el Proyecto Phoenix. John Doe (j.doe) fue identificado durante tu investigación anterior como alguien que posiblemente tuvo acceso no autorizado durante el incidente de seguridad. El CTO ha ordenado su eliminación inmediata de todos los sistemas de TechNova. Sin embargo, los equipos legales y de cumplimiento necesitan que sus archivos se conserven para la auditoría de seguridad en curso, por lo que debes bloquear la cuenta en lugar de eliminarla por completo.

Tareas

  • Bloquear la cuenta de usuario de j.doe para evitar inicios de sesión.

Requisitos

  • La cuenta de usuario j.doe debe estar bloqueada.
  • No elimines al usuario ni su directorio personal.

Pistas

  • Puedes usar el comando usermod con la opción -L (lock).
  • Alternativamente, el comando passwd tiene un indicador -l (lock) que logra el mismo resultado.
  • Recuerda usar sudo.

Ejemplos

Puedes verificar que la cuenta está bloqueada comprobando el archivo shadow:

$ sudo grep "^j.doe:" /etc/shadow
j.doe:!:20334:0:99999:7:::

Observa el signo de exclamación (!) al principio del campo de contraseña: esto indica que la cuenta está bloqueada. El hash de la contraseña original se conserva después del ! para un posible desbloqueo futuro.

Resumen

¡Felicidades, Guardián de las Llaves! Has completado con éxito tu increíble primera semana en LabEx Corporation y has asegurado el Proyecto Phoenix para su impulso final hacia la finalización.

A lo largo de esta semana transformadora, has evolucionado de un nuevo administrador de sistemas junior a un guardián de confianza de los sistemas más críticos de TechNova. En tu desafío final, dominaste comandos esenciales de gestión de usuarios:

  • Creaste una nueva cuenta de usuario para la desarrolladora senior que lidera la finalización del Proyecto Phoenix.
  • Configuraste directorios personales seguros para miembros críticos del equipo.
  • Implementaste políticas de contraseñas robustas usando passwd.
  • Gestionaste membresías de grupos para garantizar el acceso adecuado a los recursos del Proyecto Phoenix.
  • Aseguraste el sistema desactivando el acceso no autorizado mientras preservabas las pistas de auditoría.

Desde el reconocimiento inicial hasta la arquitectura digital, la investigación de registros, la implementación de seguridad y, finalmente, la gestión de usuarios, has demostrado el conjunto completo de habilidades de un Administrador de Sistemas profesional. El CTO ha confirmado tu posición permanente y ya está discutiendo oportunidades de ascenso.

¡El Proyecto Phoenix está ahora en buenas manos y el futuro de TechNova está asegurado gracias a tu dedicación y experiencia!

✨ Revisar Solución y Practicar✨ Revisar Solución y Practicar✨ Revisar Solución y Practicar✨ Revisar Solución y Practicar✨ Revisar Solución y Practicar