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
-
Inicio de sesión
- Inicia sesión en la máquina
serveradesdebastioncomo el usuariostudentutilizando la llave privada proporcionada:
ssh student-#-servera - Inicia sesión en la máquina
Parte 1: Preparación del Entorno y Montaje del Sistema de Archivos
-
Cambiar a superusuario
- Usa el comando sudo -i para obtener privilegios de root:
sudo -i -
Crear el punto de montaje
- Crea el directorio /mnt/part1 donde se montará la partición:
mkdir /mnt/part1 -
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 -
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
-
-
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
-
Instala el paquete lsof
dnf install -y lsof -
Crea un archivo de prueba en /mnt/part1
touch /mnt/part1/archivo_prueba.txt -
Usa tail -f para "abrir" el archivo
- Esto generará un proceso que mantiene abierto el archivo:
tail -f /mnt/part1/archivo_prueba.txt -
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 -
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. -
Elimina el proceso desde la terminal adicional
- Usa el comando kill utilizando el PID de la salida de lsof:
kill 1778 -
Desde la terminal original, desmontar el sistema de archivos
- Usa el comando umount para desmontar /mnt/part1:
umount /mnt/part1 -
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
-
Instala el paquete mlocate
dnf install -y mlocate -
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.
-
-
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
-
-
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
-
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
-
-
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
-
-
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 ...
-
-
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
-
-
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
-
-
Regresa al usuario student:
exit -
Sal de
serveray vuelve albastion: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.