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 al puesto de máxima confianza: Guardián de las Llaves para el Proyecto Phoenix.

El Director de Tecnología (CTO) te llama 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 sénior, Brenda Smith, quien liderará el impulso final hacia la finalización. Lamentablemente, 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 acceso humana al Proyecto Phoenix. Tus decisiones en la gestión de usuarios determinarán quién puede contribuir al proyecto más importante de TechNova y quién debe quedar fuera por razones de seguridad.

Este es tu momento para demostrar un dominio total 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 nueva cuenta de usuario para Brenda Smith, la desarrolladora sénior 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 de 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 apropiado para añadir un nuevo usuario al sistema. Necesitarás privilegios de sudo.

Consejos

  • ¿Qué comando se utiliza para añadir un usuario en Linux? Quizás quieras investigar sobre useradd o 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)
✨ Revisar Solución y Practicar

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

¡Has creado el usuario, pero olvidaste un paso crucial! Brenda, como desarrolladora sénior 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) 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 primero debas eliminar al usuario y luego volver a crearlo correctamente.

Consejos

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

Ejemplos

Después de crear al 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
✨ Revisar Solución y Practicar

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 inicial segura 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 introduzcas y confirmes la nueva contraseña. Puedes usar cualquier contraseña sencilla, por ejemplo, password123.

Consejos

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

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 consultando 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:::
✨ Revisar Solución y Practicar

Adición de la nueva desarrolladora al grupo "developers"

Para asegurar 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.
  • No se deben eliminar las membresías de grupo existentes del usuario.

Consejos

  • El comando usermod se utiliza para modificar una cuenta de usuario.
  • Busca los parámetros -a (append/añadir) y -G (groups/grupos). Usarlos juntos garantiza que añadas al usuario a un nuevo grupo sin eliminarlo de los actuales.

Ejemplos

Después de añadir con éxito al usuario al grupo de desarrolladores, 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 verificarlo usando el comando id para ver información más detallada de los grupos:

$ 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 los archivos y directorios que son accesibles para el grupo developers. Puedes consultar 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 manteniendo sus membresías de grupo previas.

✨ Revisar Solución y Practicar

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 potencialmente 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 impedir inicios de sesión.

Requisitos

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

Consejos

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

Ejemplos

Puedes verificar que la cuenta está bloqueada consultando 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 la 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.

✨ Revisar Solución y Practicar

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 ser un nuevo administrador de sistemas junior a convertirte en un guardián de confianza de los sistemas más críticos de TechNova. En tu desafío final, has dominado comandos esenciales de gestión de usuarios:

  • Creaste una nueva cuenta de usuario para la desarrolladora sénior que lidera la finalización del Proyecto Phoenix.
  • Configuraste directorios personales seguros para los miembros críticos del equipo.
  • Implementaste políticas de contraseñas robustas usando passwd.
  • Gestionaste membresías de grupo para asegurar el acceso adecuado a los recursos del Proyecto Phoenix.
  • Aseguraste el sistema desactivando el acceso no autorizado mientras conservabas los registros 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 puesto 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!