Skip to main content

Command Palette

Search for a command to run...

Módulo Experto: Desafíos Prácticos del Administrador Linux

20 Ejercicios Prácticos para Certificaciones Linux (LPIC-1, LFCS, RHCSA)

Updated
8 min read
Módulo Experto: Desafíos Prácticos del Administrador Linux
A

Geek by nature, Linux by choice, Fedora of course ...

🚀 Desafío Práctico: ¡Domina la CLI y la Administración de Sistemas!

Si estás preparándote para obtener tu certificación LPIC-1, LFCS o RHCSA, sabes que la teoría solo te lleva a la mitad del camino. La verdadera prueba es la práctica en la Línea de Comandos (CLI).

Basados en los temas esenciales de nuestros posts anteriores (FHS, Permisos, LVM, Usuarios, Redirección, etc.), hemos creado 20 ejercicios prácticos que puedes realizar en cualquier máquina virtual Linux (CentOS, RHEL, Ubuntu, Debian).

Recomendación: Utiliza una máquina virtual recién instalada o un entorno de laboratorio donde puedas experimentar libremente. Debes tener permisos de sudo o acceder como usuario root para completar los ejercicios de administración (Volúmenes, Usuarios y Grupos).

Categoría de EjerciciosEnfoque PrincipalCertificaciones Relevantes
I. CLI y NavegaciónFHS, cp, mv, ComodinesLPIC-1, LFCS, RHCSA
II. Permisos y Propiedadchmod, SUID, ACLsLPIC-1, LFCS, RHCSA
III. Usuarios y sudouseradd, groupmod, visudoLPIC-1, LFCS, RHCSA
IV. Texto, Redirección y EnlacesPipes, grep, sed, Enlaces Duros/BlandosLPIC-1, LFCS, RHCSA
V. Almacenamiento (Montaje)lsblk, mount, /etc/fstabLPIC-1, LFCS, RHCSA
VI. Gestión de Volumen LógicoPV, VG, LV, lvextend, xfs_growfsLFCS, RHCSA

I. Ejercicios de CLI y Navegación

Reactivo 1: Creación de Estructura y Archivo (FHS)

Objetivo: Crear una estructura de directorios simulada para un proyecto en el directorio /tmp y un archivo inicial con un solo comando.

1. Tarea: En el directorio /tmp, crea la estructura de directorios /proyecto/src, /proyecto/docs y /proyecto/bin. Dentro de /proyecto/src, crea un archivo vacío llamado main.sh. Todo en una sola línea de comando.

2. Verificación: Confirma la existencia de la estructura y el archivo.

Reactivo 2: Copia y Comodines

Objetivo: Usar comodines para copiar un conjunto específico de archivos.

1. Configuración: Crea varios archivos de texto en /tmp/proyecto/docs.

2. Tarea: Copia solo los archivos .txt en el directorio /tmp/proyecto/docs que empiezan por la letra c a una nueva carpeta llamada /tmp/backups.

Reactivo 3: Obtención de Ayuda (info)

Objetivo: Usar la utilidad info para buscar la sección sobre el comando cp.

1. Tarea: Abre el manual de ayuda de cp usando el comando info.

2. Tarea: Una vez dentro, busca la sección sobre la opción -p (preservar atributos).


II. Ejercicios de Permisos y Propiedad

Reactivo 4: Permisos con Notación Octal

Objetivo: Aplicar un conjunto de permisos preciso usando la notación octal.

1. Configuración: Crea un archivo en /tmp/secreto_de_permisos.conf.

2. Tarea: Aplica los permisos rwxr-x---. Esto significa: Propietario: Lectura, Escritura, Ejecución (7); Grupo: Lectura, Ejecución (5); Otros: Sin Permisos (0).

3. Verificación: Muestra los permisos aplicados.

Reactivo 5: El Sticky Bit en Directorios (LFCS/RHCSA)

Objetivo: Configurar un directorio compartido para que los usuarios puedan crear archivos, pero solo ellos puedan eliminarlos.

1. Configuración: Crea el directorio /tmp/compartido y establece permisos rwxrwxrwt.

2. Tarea: Asegúrate de que el Sticky Bit (el 1 inicial del 1777) esté aplicado.

Reactivo 6: Cambio de Grupo Propietario

Objetivo: Cambiar el grupo de un archivo a un grupo existente (sysadmin) sin modificar el propietario.

1. Configuración: Crea el grupo sysadmin y el archivo /tmp/archivo_grupo.txt.

2. Tarea: Cambia el grupo propietario del archivo a sysadmin.

Reactivo 7: Uso de ACLs para Acceso Fino (RHCSA/LFCS)

Objetivo: Conceder acceso de lectura a un usuario específico (ana) utilizando Listas de Control de Acceso (ACLs).

1. Configuración: Asegúrate de que tienes el paquete de ACLs (acl) instalado y crea el usuario ana.

2. Tarea: Usa setfacl para dar permiso de solo lectura (r--) al usuario ana sobre el archivo /tmp/archivo_grupo.txt.

3. Verificación: Muestra la ACL para confirmar el permiso.


III. Ejercicios de Gestión de Usuarios y sudo

Reactivo 8: Creación de Usuario Personalizada

Objetivo: Crear un usuario con un directorio home personalizado.

1. Tarea: Crea el directorio /data/usuarios (si no existe).

2. Tarea: Crea un usuario llamado analista y establece su directorio home en /data/usuarios/analista.

3. Verificación: Confirma la ruta del home en /etc/passwd.

Reactivo 9: Modificación de Grupos

Objetivo: Añadir el usuario analista a un grupo secundario existente (desarrollo).

1. Tarea: Añade el usuario analista al grupo desarrollo.

2. Verificación: Confirma la membresía de analista en el grupo.

Reactivo 10: Configuración de sudo sin Contraseña (LFCS/RHCSA)

Objetivo: Usar visudo para permitir que el usuario analista ejecute un comando específico como root sin solicitar su contraseña.

1. Tarea: Edita el archivo /etc/sudoers de forma segura.

2. Tarea: Añade la línea necesaria para que el usuario analista pueda ejecutar el comando /usr/sbin/service cron restart sin contraseña.

3. Verificación: El usuario analista debería poder ejecutar el comando con sudo sin que se le pida la contraseña.


IV. Ejercicios de Texto, Redirección y Enlaces

Reactivo 11: Redirección y Tuberías (|)

Objetivo: Contar y guardar el número de usuarios que tienen bash como shell por defecto en /etc/passwd.

1. Tarea: Utiliza grep para filtrar las líneas con /bin/bash en /etc/passwd.

2. Tarea: Usa una tubería (|) para contar las líneas y redirige el resultado a un archivo llamado /tmp/conteo_bash.txt.

3. Verificación: Muestra el contenido del archivo resultante.

Reactivo 12: Búsqueda Contextual con grep

Objetivo: Encontrar la línea del usuario root en /etc/shadow y mostrar las líneas circundantes para tener contexto.

1. Tarea: Busca la cadena root en /etc/shadow y muestra una línea de contexto antes (-B 1) y una línea de contexto después (-A 1) del resultado.

Reactivo 13: Sustitución con sed (LFCS/RHCSA)

Objetivo: Usar sed para reemplazar una cadena de texto en un archivo y mostrar la salida, sin modificar el archivo original.

1. Configuración: Crea un archivo de configuración de prueba.

2. Tarea: Reemplaza todas las ocurrencias de localhost por produccion.local en /tmp/webserver.conf y muéstralo en pantalla.

Reactivo 14: Enlaces Duros y Blandos

Objetivo: Crear y verificar enlaces duros y blandos, observando los números de inodo.

1. Configuración: Crea un archivo de texto llamado /tmp/inodo_original.txt.

2. Tarea: Crea un enlace duro llamado enlace_duro.txt y un enlace blando llamado enlace_blando.txt hacia el archivo original.

3. Verificación: Muestra la lista detallada para ver los números de inodo (-i).


V. Ejercicios de Almacenamiento y Montaje

Nota: Los ejercicios 15, 16 y 17 asumen la existencia de dispositivos de bloque adicionales como /dev/sdb y /dev/sdb1, lo cual requiere la configuración previa de la máquina virtual (añadir discos virtuales).

Reactivo 15: Identificación de Dispositivos

Objetivo: Usar lsblk para obtener una lista clara de los dispositivos de bloque y sus puntos de montaje.

1. Tarea: Muestra un listado de bloques legible por humanos, incluyendo sus tamaños.

2. Tarea: Identifica cualquier disco (por ejemplo, /dev/sdb) que no tenga particiones montadas.

Reactivo 16: Montaje Temporal

Objetivo: Montar una partición existente (/dev/sdb1) en un directorio temporal.

1. Tarea: Crea el punto de montaje temporal /mnt/tempdata.

2. Tarea: Monta la partición /dev/sdb1 (asumiendo formato ext4 o xfs) en el punto de montaje.

3. Verificación: Muestra el uso del disco en formato legible por humanos.

Reactivo 17: Montaje Persistente con /etc/fstab

Objetivo: Configurar una partición para que se monte automáticamente al iniciar.

1. Configuración: Consigue el UUID de /dev/sdb2 (asumiendo que está formateado con xfs).

2. Tarea: Crea el punto de montaje /data/archivos.

3. Tarea: Añade la entrada necesaria en /etc/fstab para que /dev/sdb2 se monte como xfs en /data/archivos, sin errores de inicio si falla (opción nofail), con valores predeterminados y chequeo en el arranque.

4. Verificación (Sin reiniciar): Prueba si la nueva entrada de fstab funciona.


VI. Ejercicios de LVM (Énfasis RHCSA/LFCS)

Nota: Estos ejercicios requieren al menos dos discos virtuales adicionales sin particionar (/dev/sdb y /dev/sdc) para simular la infraestructura de LVM.

Reactivo 18: Creación Completa de LVM

Objetivo: Crear un Volumen Físico, un Grupo de Volúmenes y un Volumen Lógico de 10GB.

1. Tarea: Crea un PV en /dev/sdb y /dev/sdc.

2. Tarea: Crea un VG llamado prod_vg con ambos PV.

3. Tarea: Crea un LV llamado lv_data de 10GB, formatéalo como ext4 y móntalo en /datos_prod.

Reactivo 19: Ampliación de Volumen (Ext4)

Objetivo: Ampliar el LV anterior con 5GB adicionales y redimensionar el sistema de archivos ext4.

1. Tarea: Amplía el Volumen Lógico lv_data en 5GB.

2. Tarea: Redimensiona el sistema de archivos ext4 para que ocupe el nuevo espacio del LV.

3. Verificación: Muestra el nuevo tamaño del punto de montaje.

Reactivo 20: Ampliación al Espacio Libre Total (XFS - RHCSA)

Objetivo: Ampliar el LV para usar todo el espacio libre restante en el VG y redimensionar el sistema de archivos xfs (el método de RHCSA).

1. Configuración: Asume que el LV anterior fue formateado con xfs y tiene espacio libre en el VG.

2. Tarea: Amplía el LV lv_data para usar el 100% del espacio libre restante del prod_vg.

3. Tarea: Redimensiona el sistema de archivos XFS para que reconozca el nuevo espacio (usando el punto de montaje).

4. Verificación: Muestra el nuevo tamaño del punto de montaje.


💡 Conclusión y Próximos Pasos

Dominar estos 20 ejercicios te posiciona firmemente para enfrentar los laboratorios prácticos de las certificaciones. Los temas de ACLs, sudo y LVM son especialmente críticos para RHCSA y LFCS, y a menudo son los que distinguen a un candidato calificado.

¡Tu turno! Practica, repite y no solo memorices los comandos, sino que entiende por qué y cómo funcionan los flujos de datos y la gestión del almacenamiento.

¿Qué ejercicio te resultó más desafiante? ¡Déjanos un comentario y comparte tu experiencia de práctica!

Tip: Encuentra las soluciones en el repositorio de GitHub.


Invitación a la Comunidad 🚀

Este post forma parte de una serie dedicada a la arquitectura y administración de sistemas Linux. ¡Queremos construir el mejor recurso posible con tu ayuda!

Te invitamos a:

  • Clonar el Repositorio: El código fuente de todos nuestros artículos está disponible en GitHub.

  • Contribuir: Si encuentras algún error, tienes sugerencias para mejorar la claridad de los conceptos o deseas proponer correcciones técnicas, no dudes en enviar un Pull Request (Solicitud de extracción).

  • Comentar: ¿Tienes una pregunta o un punto de vista diferente sobre algún concepto? Abre un Issue (Incidencia) en el repositorio para iniciar la discusión.

Tu colaboración es vital para mantener este contenido preciso y actualizado.

¡Encuentra el repositorio y participa aquí: github.com/rootzilopochtli/introduccion-a-linux