Skip to content

Objetivos

  • Desmontar un sistema de archivos de manera segura y verificar que el punto de montaje queda libre.
  • Buscar archivos específicos dentro de sistemas de archivos montados utilizando los comandos find y locate.
  • Actualizar la base de datos de locate para garantizar resultados precisos en la búsqueda.

Entorno Inicial

  • Usuario: student
  • Máquina: servera
  • Contraseña inicial: student
  • Herramientas utilizadas: Shell Bash y utilidades básicas de Linux.
  • Partición disponible: /dev/sdc1 con sistema de archivos XFS.

Pasos del Laboratorio

Prerequisitos

  1. Inicio de sesión

    • Inicia sesión en la máquina servera desde bastion como el usuario student utilizando la llave privada proporcionada:
    ssh student-#-servera
    

Parte 1: Preparación del Entorno y Montaje del Sistema de Archivos

  1. Cambiar a superusuario

    • Usa el comando sudo -i para obtener privilegios de root:
    sudo -i
    
  2. Crear el punto de montaje

    • Crea el directorio /mnt/part1 donde se montará la partición:
    mkdir /mnt/part1
    
  3. Obtener el UUID de la partición

    • Ejecuta el siguiente comando para consultar el UUID de /dev/sdc1:
    lsblk -fp /dev/sdc1
    
    • Salida esperada:
    NAME      FSTYPE FSVER LABEL UUID                                 FSAVAIL FSUSE% MOUNTPOINTS
    /dev/sdc1 xfs                0e1f1ec5-6d22-4a97-ac66-6d3b0b8ccd3a
    
  4. Montar el sistema de archivos usando el UUID

    • Usa el UUID obtenido para montar la partición en /mnt/part1:

      mount UUID="0e1f1ec5-6d22-4a97-ac66-6d3b0b8ccd3a" /mnt/part1
      
  5. Verificar el montaje

    • Confirma que /dev/sdc1 está montado correctamente en /mnt/part1:

      lsblk -fp /dev/sdc1
      
    • Salida esperada:

      NAME      FSTYPE FSVER LABEL UUID                                 FSAVAIL FSUSE% MOUNTPOINTS
      /dev/sdc1 xfs                0e1f1ec5-6d22-4a97-ac66-6d3b0b8ccd3a  851.5M     4% /mnt/part1
      

Parte 2: Desmontaje del Sistema de Archivos

  1. Instala el paquete lsof

    dnf install -y lsof
    
  2. Crea un archivo de prueba en /mnt/part1

    touch /mnt/part1/archivo_prueba.txt
    
  3. Usa tail -f para "abrir" el archivo

    • Esto generará un proceso que mantiene abierto el archivo:
    tail -f /mnt/part1/archivo_prueba.txt
    
  4. En otra terminal, verificar el uso del sistema de archivos antes de desmontarlo

    • Usa el comando lsof para verificar si hay procesos activos en /mnt/part1:
    lsof /mnt/part1
    
    • Resultado esperado: hay procesos en ejecución.
    COMMAND  PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
    tail    1778 root    3r   REG   8,17        0  131 /mnt/part1/archivo_prueba.txt
    
  5. Desmontar el sistema de archivos

    • Usa el comando umount para desmontar /mnt/part1:
    umount /mnt/part1
    
    • Resultado esperado: No es posible desmontar el sistema de archivos.
    umount: /mnt/part1: target is busy.
    
  6. Elimina el proceso desde la terminal adicional

    • Usa el comando kill utilizando el PID de la salida de lsof:
    kill 1778
    
  7. Desde la terminal original, desmontar el sistema de archivos

    • Usa el comando umount para desmontar /mnt/part1:
    umount /mnt/part1
    
  8. Verificar que el desmontaje fue exitoso

    • Confirma que /mnt/part1 ya no está montado ejecutando:
    lsblk -fp /dev/sdc1
    
    • Salida esperada (Sin punto de montaje asociado):
    NAME      FSTYPE FSVER LABEL UUID                                 FSAVAIL FSUSE% MOUNTPOINTS
    /dev/sdc1 xfs                0e1f1ec5-6d22-4a97-ac66-6d3b0b8ccd3a
    

Parte 3: Localización de Archivos en Sistemas de Archivos Montados

  1. Instala el paquete mlocate

    dnf install -y mlocate
    
  2. Actualizar la base de datos de locate

    • Ejecuta el siguiente comando para actualizar la base de datos utilizada por locate:

      updatedb
      
    • Ingresa la contraseña de student cuando se solicite.

  3. Buscar archivos de configuración con locate

    • Busca el archivo logrotate.conf:

      locate logrotate.conf
      
    • Salida esperada:

      /etc/logrotate.conf
      /usr/share/man/man5/logrotate.conf.5.gz
      
  4. Buscar archivos ignorando mayúsculas y minúsculas

    • Busca networkmanager.conf sin distinguir entre mayúsculas y minúsculas:

      locate -i networkmanager.conf
      
    • Salida esperada:

      /etc/NetworkManager/NetworkManager.conf
      /usr/share/dbus-1/system.d/org.freedesktop.NetworkManager.conf
      /usr/share/man/man5/NetworkManager.conf.5.gz
      

Parte 4: Búsqueda en Tiempo Real con find

  1. Buscar archivos en /var/lib que pertenezcan al usuario chrony

    • Usa find con privilegios elevados para listar archivos propiedad de chrony:

      find /var/lib -user chrony
      
    • Salida esperada:

      /var/lib/chrony
      /var/lib/chrony/drift
      
  2. Buscar archivos en /var propiedad de root y grupo mail

    • Ejecuta el siguiente comando:

      find /var -user root -group mail
      
    • Salida esperada:

      /var/spool/mail
      
  3. Buscar archivos en /usr/bin con tamaño superior a 50 KB

    • Usa find con el parámetro -size:

      find /usr/bin -size +50k
      
    • Salida esperada:

      /usr/bin/msginit
      /usr/bin/tbl
      /usr/bin/troff
      /usr/bin/iconv
      /usr/bin/locale
      /usr/bin/localedef
      ...
      
  4. Buscar archivos modificados en los últimos 120 minutos en /home/student

    • Ejecuta el siguiente comando:

      find /home/student -mmin -120
      
    • Salida esperada:

      /home/student/.ssh
      /home/student/.ssh/authorized_keys
      /home/student/.ssh/known_hosts
      
  5. Buscar dispositivos de bloque en /dev

    • Usa find para listar dispositivos de bloque:

      find /dev -type b
      
    • Salida esperada:

      /dev/sda2
      /dev/sda1
      /dev/sdb2
      /dev/sdb1
      /dev/sdc1
      /dev/sda
      /dev/sdb
      /dev/sdc
      
  6. Regresa al usuario student:

    exit
    
  7. Sal de servera y vuelve al bastion:

    exit
    

Resultados Esperados

  • El sistema de archivos se desmonta correctamente sin procesos activos bloqueándolo.
  • Se localizan archivos de configuración utilizando locate, con y sin distinción de mayúsculas.
  • Se realizan búsquedas en tiempo real con find, filtrando por propietario, grupo, tamaño y tiempo de modificación.
  • Se identifican dispositivos de bloque en /dev.