Ejercicios Linux
Esta serie de ejercicios está diseñada para profundizar y consolidar su comprensión
de los conceptos y habilidades técnicas básicas en sistemas basados en Linux e
incluso Unix. Es imperativo abordar cada ejercicio meticulosamente, aplicando un
enfoque de investigación y análisis que vaya más allá de la superficie. La
resolución consciente de estas actividades prácticas no solo servirá para fortalecer lo
aprendido, sino que también revelará áreas que pueden requerir atención adicional y,
por lo tanto, brindar una oportunidad para que el instructor identifique y refuerce los
puntos débiles de cada estudiante.
El propósito de estos ejercicios es doble: primero, para que usted, como estudiante,
pueda aplicar y expandir su conocimiento teórico básico a través de la práctica
reflexiva y la exploración autodirigida; y segundo, para proporcionar un punto de
referencia útil para los instructores sobre la comprensión individual de cada
estudiante, permitiendo una enseñanza más enfocada y personalizada.
Abordar estos ejercicios con seriedad y dedicación es esencial para el desarrollo de
competencias y habilidades prácticas más básicas de sistemas Linux. Se alienta a
los estudiantes a ir más allá de los requisitos básicos, explorando aplicaciones del
mundo real y considerando las implicaciones de cada comando y proceso. Este
conjunto de ejercicios no es solo un medio para medir la comprensión, sino también
un trampolín hacia los siguientes pasos de nivel técnico más elevado y la confianza
en la administración de sistemas Linux.
Tabla de contenido
Ejercicios Linux ................................................................................................ 1
Ejercicio # 1 ............................................................................................................. 3
Ejercicio # 2 ............................................................................................................. 3
Ejercicio # 3 ............................................................................................................. 4
Ejercicio # 4 ............................................................................................................. 4
Ejercicio # 5 ............................................................................................................. 5
Ejercicio # 6 ............................................................................................................. 6
2
Ejercicio # 1
Objetivo Técnico: Comprender el Estándar de Jerarquía del Sistema de Archivos
(FHS) en Linux y la ubicación de los componentes esenciales en GNU/Linux
Descripción del Ejercicio:
1. Realiza una amplia investigación amplia que permita explicar de forma verbal
que es el estándar FHS en Linux, su importancia y la distribución de los
componentes según el estándar.
Aspectos a considerar
FHS es un estándar ampliamente utilizado en distribuciones Linux y sistemas Unix,
por lo que conocer el estándar su distribución y razón de existir facilitará en gran
medida moverse entre los diferentes sistemas operativos con base Linux o Unix.
Ejercicio # 2
Objetivo Técnico: Comprender el Estándar de Jerarquía del Sistema de Archivos
(FHS) en Linux.
Descripción del Ejercicio:
1. Investiga y lee detenidamente la salida del comando man hier, explica en
detalle las diferencias entre /usr/bin y /usr/local/bin según la salida del
comando.
2. Escribe un informe que detalle para qué se utiliza cada capreta dentro de /var y
la importancia de su estructura
Aspectos a Considerar:
Entender el FHS es fundamental para la administración de sistemas y la localización
de archivos y directorios importantes; en caso de no conocer el estándar FHS el
tiempo de investigación en un proceso de pentesting será mucho más prolongado.
3
Ejercicio # 3
Objetivo Técnico: Uso y comprensión de /dev/null y /dev/random
Descripción del Ejercicio:
1. Investiga y documenta la función de los dispositivos especiales /dev/null y
/dev/random. ¿Cómo se comparan y contrastan en términos de uso?
2. Utiliza man para buscar información sobre cómo redirigir la salida de errores a
/dev/null (con man bash).
3. Crea un script que redirija la salida de errores de un comando que intente
acceder a un archivo inexistente a /dev/null y explique su utilidad.
Aspectos a Considerar:
La redirección de la salida de comandos es una técnica común en scripts de bash, y
/dev/null juega un papel crucial en la gestión de salidas no deseadas.
Ejercicio # 4
Objetivo Técnico: Exploración práctica del FHS y redirección de salidas.
Descripción del Ejercicio:
1. Crea un script que busque dentro de /etc archivos de configuración
modificados en los últimos 90 días y redirige la salida a un archivo en /tmp.
Asegúrate de que los errores se redirijan a /dev/null.
2. Investiga con man cómo usar find para esta tarea y verifica tu script con
shellcheck para asegurarte de que sigue las mejores prácticas.
3. Explica cómo este script podría ser útil en la administración del sistema.
Aspectos a Considerar:
La habilidad para buscar y filtrar archivos basándose en su fecha de modificación es
esencial para la administración del sistema y la detección de cambios no
autorizados.
4
Ejercicio # 5
Objetivo Técnico: Combinación de comandos y redirección para el monitoreo de
recursos del sistema.
Descripción del Ejercicio:
1. Utiliza top o htop para monitorear los recursos del sistema. Redirige la salida a
un archivo en /var/log/monitor y los errores a /dev/null.
2. Escribe un script que ejecute este comando cada 5 minutos utilizando watch y
explica cómo watch puede ayudar en la monitorización constante del sistema.
3. Investiga cómo limitar la salida de top a las primeras 10 líneas utilizando head
y redirige esa salida a /dev/null.
Aspectos a Considerar:
La monitorización de los recursos del sistema es una tarea constante en la
administración de sistemas, y saber cómo manipular la salida de los comandos es
una habilidad valiosa.
5
Ejercicio # 6
Objetivo Técnico: Introducción a solución básica de problemas de red utilizando
comandos simples pero con resultados poderosos para un adecuado diagnóstico.
Descripción del Ejercicio:
1. Utiliza ifconfig para descubrir cual es la dirección IP del computador/máquina
virtual que utiliza para resolver estos ejercicios
2. Realice lo mismo que hizo en el paso anterior pero con el comando ip
3. Utilice traceroute para identificar la dirección del router al que está conectado
su computador máquina virtual
4. Con los comandos anteriores identifique el nombre de su interfaz de red y
desactívela con el comando ifdown o ifconfig <interfaz de red> down y actívela
nuevamente con el comando ifup o ifconfig <interfaz de red> up
5. Identifique la máscara de red e indíquela
6. Investigue que es la notación CIDR o Classless Inter-domain routing y la
Notación Decimal Punteada en las máscaras de red
7. Indique según su mascara de red cuantos dispositivos puede conectar a sus
red
8. Realice un ping a la IP de su router y explique de forma detenida la salida del
comando columna a columna y la importancia del comando ping
9. Utilice el comando arp -a para ver la tabla de enrutamiento disponible en su
computador
10. Utilice el comando nslookup para descubrir el nombre de su router y su
computador u otros dispositivos conectados a su red localizados en el
ejercicios anterior, así como ejecute nslookup al nombre de los equipos para
descubrir su IP.
Aspectos a Considerar:
La monitorización de los recursos del sistema es una tarea constante en la
administración de sistemas, y saber cómo manipular la salida de los comandos es
una habilidad valiosa.