UT00 · Virtualización y fundamentos Linux
Creación del laboratorio virtual SER-LAB y adquisición de una base sólida de Linux desde terminal para administrar servicios de red.
☰ Contenido de la unidad
Introducción
Objetivo de la unidad: construir desde cero el laboratorio que utilizaremos durante el curso y adquirir un manejo sólido de la consola Linux.
No buscamos memorizar una lista interminable de órdenes. Buscamos que puedas responder cuatro preguntas: qué quiero comprobar, qué comando me ayuda, qué significa su salida y qué hago después.
En Servicios en Red instalaremos DHCP, DNS, transferencia de archivos, correo, servidores web, acceso remoto, redes inalámbricas y mecanismos de conexión entre redes. Todos esos servicios se ejecutan sobre sistemas operativos y redes reales o virtuales.
Por eso empezaremos por la base:
VIRTUALIZACIÓN
↓
LABORATORIO AISLADO
↓
DEBIAN
↓
TERMINAL
↓
ARCHIVOS · USUARIOS · PERMISOS
↓
PROCESOS · SERVICIOS · LOGS
↓
IP · RUTAS · PUERTOS
↓
DIAGNÓSTICO
↓
UT01 · DHCP
En esta unidad no trabajaremos scripting ni archivos .sh. Primero necesitamos que la consola deje de ser algo que se copia y pase a ser una herramienta que entendemos.
1. Qué deberías ser capaz de hacer al terminar
Al finalizar UT00 deberías poder:
- explicar qué son host, guest, máquina virtual, hipervisor e ISO;
- distinguir hardware virtual de modo de conexión de una tarjeta virtual;
- crear una VM razonable y justificar CPU, RAM y disco;
- instalar Debian en una VM;
- crear y restaurar una instantánea;
- distinguir NAT, Red NAT, Red interna, Solo-anfitrión y Puente;
- construir el laboratorio
SER-LABsin afectar a la red física del centro; - iniciar sesión en Debian y saber quién eres, en qué máquina estás y dónde estás;
- moverte con seguridad por el árbol de directorios;
- crear, copiar, mover, buscar, leer y eliminar archivos;
- utilizar ayuda integrada (
man,--help) antes de depender de una receta; - crear usuarios y grupos de laboratorio;
- interpretar y modificar permisos Linux;
- utilizar
sudode forma consciente; - consultar paquetes, procesos, servicios, puertos y registros;
- identificar interfaces, direcciones IP y rutas;
- diagnosticar una incidencia sencilla siguiendo una secuencia lógica.
2. Relación con los RA y CE de Servicios en Red
La UT00 tiene un carácter principalmente introductorio y transversal. Proporciona la base técnica que necesitaremos durante todo el módulo: virtualización, administración básica de Debian, terminal, sistema de archivos, usuarios, grupos, permisos, procesos, servicios, registros e interfaces de red.
No obstante, una parte concreta de esta unidad se relaciona directamente con un criterio oficial del módulo.
RA8. Establece el acceso desde redes locales a redes públicas identificando posibles escenarios y aplicando software específico.
En UT00 comenzamos a trabajar este RA al construir una máquina con:
- una interfaz orientada a nuestra red privada de laboratorio;
- otra interfaz con salida hacia una red externa mediante NAT del hipervisor.
CE trabajado directamente
RA8 · CE a) Se ha instalado y configurado el hardware de un sistema con acceso a una red privada local y a una red pública.
En nuestro laboratorio utilizaremos hardware virtualizado, pero las decisiones técnicas que debemos comprender son las mismas: qué interfaz existe, a qué red se conecta, qué dirección utiliza y por dónde debe circular cada tráfico.
Importante: UT00 no completa el RA8.
Aquí obtenemos una primera evidencia del CE a). El resto del RA8 se desarrollará en UT08, cuando trabajemos pasarelas, encaminamiento, filtrado, NAT/DNAT, publicación y resolución de incidencias entre redes.
Aprendizajes transversales
| Aprendizaje de UT00 | Para qué lo reutilizaremos |
|---|---|
| Virtualización | laboratorios seguros y reproducibles |
| Terminal Linux | administración de todos los servidores |
| Archivos y rutas | configuración de servicios |
| Usuarios y grupos | transferencia, correo, web y acceso remoto |
| Permisos | control de acceso |
| Procesos y servicios | DHCP, DNS, Apache, SSH, correo… |
| Logs | diagnóstico |
| Interfaces y rutas | DHCP, acceso remoto y conexión entre redes |
| Puertos y sockets | comprobación real del servicio |
Estos aprendizajes no son nuevos CE inventados. Son herramientas que permitirán demostrar los CE oficiales de las unidades posteriores.
Referencia curricular de Extremadura:
Decreto 272/2009, de 28 de diciembre · módulo 0227 · RA8 y CE
3. Por qué esto se parece al trabajo real
Un técnico no debería trabajar diciendo:
«He reiniciado tres cosas y ahora parece que funciona».
Trabaja reduciendo el problema.
Imagina:
«Desde el cliente no abre la web interna; en el servidor dicen que sí funciona».
Antes de tocar nada podemos preguntar:
- ¿la VM está arrancada?;
- ¿la tarjeta virtual está conectada?;
- ¿la interfaz aparece
UP?; - ¿tiene la IP esperada?;
- ¿existe una ruta hacia el destino?;
- ¿el puerto está escuchando?;
- ¿el servicio está activo?;
- ¿qué registran los logs?;
- ¿responde la aplicación?;
- ¿el cambio realizado ha solucionado el problema sin romper otra cosa?
Ese modo de pensar será más importante durante el curso que memorizar un comando concreto.
PARTE I · VIRTUALIZACIÓN DESDE CERO
4. Qué estamos virtualizando
Un PC físico aporta:
CPU · RAM · almacenamiento · tarjetas de red · USB · pantalla…
El hipervisor utiliza parte de esos recursos para presentar a cada máquina virtual un ordenador independiente.
Figura 1. El host aporta los recursos; VirtualBox presenta hardware virtual a cada sistema invitado.
Vocabulario imprescindible
| Concepto | Qué significa | Ejemplo del curso |
|---|---|---|
| Host / anfitrión | equipo físico que ejecuta el hipervisor | PC del aula |
| Hipervisor | software que crea y administra VM | VirtualBox |
| VM | ordenador virtual | ser-ser01 |
| Guest / invitado | SO instalado en la VM | Debian 13 |
| ISO | medio de instalación en forma de imagen | ISO de Debian |
Ejercicio resuelto 1
Tenemos Windows 11 en el PC físico y Debian dentro de VirtualBox.
Windows 11 del PC → host
VirtualBox → hipervisor
Debian 13 → guest
ser-ser01 → máquina virtual
5. Para qué virtualizamos en SER
Durante el curso vamos a:
- modificar direcciones IP;
- instalar servicios;
- crear usuarios;
- cambiar permisos;
- abrir o cerrar puertos;
- configurar DHCP y DNS;
- provocar fallos;
- restaurar estados anteriores.
Una MV nos permite trabajar con una filosofía muy útil:
crear → comprobar → modificar → romper → diagnosticar → recuperar
sin utilizar la red física como campo de pruebas.
6. VirtualBox, VMware e Hyper-V
VirtualBox
Será nuestro hipervisor principal porque permite trabajar con VM, discos, snapshots y redes virtuales de forma cómoda en el aula.
VMware Workstation
Utiliza los mismos conceptos fundamentales. Cambiarán los nombres de algunos menús, pero seguiremos hablando de CPU virtual, memoria, disco, NIC, snapshot y redes.
Hyper-V
Es la solución de virtualización de Microsoft disponible en ediciones compatibles de Windows y Windows Server.
Lo que realmente queremos aprender
crear VM
↓
asignar recursos
↓
conectar ISO
↓
instalar SO
↓
crear tarjetas virtuales
↓
elegir a qué redes se conectan
↓
crear un punto de recuperación
Si entiendes ese recorrido, cambiar de hipervisor resulta mucho más sencillo.
7. Descargas oficiales
Usa siempre fuentes oficiales.
- Oracle VirtualBox · Downloads
- Debian · instalación por red (netinst)
- Debian 13 “trixie”
- Microsoft · Descargar Windows 11
- Broadcom Support · VMware
- Microsoft Learn · Instalar Hyper-V
En los PC Intel/AMD habituales utilizaremos normalmente Debian amd64.
8. Crear la primera VM: ser-ser01
8.1. Nombre
ser-ser01
El nombre tiene significado:
ser → Servicios en Red
ser01 → servidor principal
Evita nombres ambiguos como debian nuevo, prueba2 o maquina definitiva final.
8.2. Recursos iniciales
Para una Debian de servidor sin escritorio, un punto de partida razonable en un PC de aula puede ser:
2 vCPU
2 GB RAM
25 GB de disco dinámico
No es una norma, es una decisión inicial que podemos revisar.
Ejercicio resuelto 2 · RAM
Host:
16 GB RAM
Propuesta:
VM1 → 8 GB
VM2 → 8 GB
Problema: hemos consumido prácticamente toda la RAM disponible y olvidado al host.
Una propuesta inicial más prudente:
VM1 → 2 GB
VM2 → 2 GB
y dejamos margen al sistema anfitrión.
8.3. Disco dinámico
Si creamos un disco virtual con máximo de 25 GB y crecimiento dinámico, el invitado puede ver un disco de 25 GB sin que el archivo del host ocupe necesariamente 25 GB desde el primer minuto.
9. La ISO y el proceso de instalación
Conceptualmente:
ISO Debian
↓
lector virtual
↓
arranque de la VM
↓
instalador Debian
↓
disco virtual
Durante la instalación utilizaremos valores de laboratorio.
Ejemplo:
Nombre completo: Fran Cano
Usuario: francano
Hostname: ser-ser01
Para contraseñas usa una contraseña exclusiva de laboratorio.
Ejemplo didáctico:
SerLab-2026-Prueba
No reutilices una contraseña personal.
Servidor sin escritorio
El servidor se trabajará preferentemente sin entorno gráfico.
Eso no significa que «le falte algo». Significa que aprenderemos a administrarlo con herramientas reutilizables en servidores reales y remotos.
Apagar correctamente
sudo poweroff
No conviertas cerrar bruscamente la ventana de VirtualBox en tu forma habitual de apagar tu MV.
10. Snapshots e instantáneas
Después de instalar, actualizar y comprobar Debian:
00_BASE_LIMPIA
Más adelante:
00_BASE_LIMPIA
↓
01_RED_OK
↓
02_DHCP_OK
Ejercicio resuelto 3
Mañana vamos a comenzar DHCP y hoy todo funciona.
¿Cuándo es buen momento para crear snapshot?
Ahora, antes de realizar cambios.
Un snapshot facilita volver atrás en el laboratorio, pero no sustituye una copia de seguridad independiente.
11. Clonar una máquina
Podemos preparar una Debian base y clonarla:
Debian base
├── ser-ser01
└── ser-cli01
Después del clon revisa:
- hostname;
- función de la máquina;
- adaptadores;
- direcciones MAC cuando proceda;
- IP.
Clonar no significa que dos máquinas deban conservar la misma identidad.
PARTE II · TARJETAS Y REDES VIRTUALES
12. Tarjeta virtual y modo de red no son lo mismo
Esta diferencia evita muchos errores.
Figura 2. Debian ve una tarjeta virtual; VirtualBox decide a qué tipo de red está conectada.
Una vNIC es el adaptador que ve el sistema invitado. VirtualBox permite utilizar una o varias.
Después elegimos dónde se conecta cada una:
NAT
Red NAT
Red interna
Solo-anfitrión
Puente
Dentro de nuestra MV pueden aparecer nombres como:
enp0s3
enp0s8
No memorices que «enp0s3 siempre es NAT». Compruébalo en tu MV.
Ejercicio resuelto 4
Dos VM tienen:
192.168.50.10/24
192.168.50.20/24
pero una está conectada a SER-LAB y otra a SER_LAB.
¿Arreglarías el problema cambiando otra vez las IP?
No. El problema está en el hipervisor: las vNIC están conectadas a redes virtuales distintas.
13. NAT
Figura 3. NAT permite que una MV salga a Internet sin aparecer directamente como otro equipo de la LAN física.
Uso típico:
apt update
instalar paquetes
consultar repositorios
En VirtualBox, NAT da salida de forma sencilla. La MV no queda publicada automáticamente hacia la red exterior; si necesitáramos entrada hacia un servicio concreto habría que configurar una redirección.
Ejercicio resuelto 5
Necesitamos descargar actualizaciones, pero no queremos que el servidor sea visible directamente en la red física.
Elección: NAT.
14. Red interna
Figura 4. En una Red interna se comunican las MV que utilizan el mismo nombre de red, sin depender del host ni de la LAN física.
Es nuestra opción principal para servicios de laboratorio.
Ejemplo:
SER-LAB
Es especialmente útil para DHCP: evita que las ofertas de nuestro servidor de prácticas lleguen a equipos reales del centro.
Ejercicio resuelto 6
Vamos a arrancar un DHCP creado por un alumno.
¿Puente o Red interna?
Red interna. En puente el tráfico podría alcanzar la red real.
15. Solo-anfitrión
Figura 5. Solo-anfitrión crea una red privada en la que participan el host y las MV.
Resulta útil cuando queremos acceder a una MV desde herramientas instaladas en el host.
Atención para futuras prácticas DHCP: una red host-only puede tener un servidor DHCP de VirtualBox. Si vamos a estudiar nuestro propio DHCP, debemos saber exactamente qué otros servidores pueden responder.
16. Red NAT
Figura 6. Una Red NAT ofrece un segmento compartido entre varias MV y salida al exterior.
La utilizaremos solo cuando el escenario lo justifique.
Es cómoda, pero puede introducir elementos automáticos —por ejemplo DHCP— que debemos conocer antes de estudiar nuestros propios servicios.
17. Adaptador puente
Figura 7. En modo puente la MV se comporta de forma mucho más parecida a otro equipo conectado a la LAN física.
Profesionalmente es útil.
En el aula también puede ser peligroso:
- un DHCP de prácticas puede interferir con clientes reales;
- un servidor puede quedar accesible desde otros equipos;
- una mala configuración puede afectar a terceros.
18. Comparativa de modos de VirtualBox
| Modo | VM → Internet/LAN | VM ↔ VM | Host → VM | Uso en SER |
|---|---|---|---|---|
| NAT | Sí | No directamente por defecto | mediante redirección si se necesita | actualizar una VM |
| Red NAT | Sí | Sí | mediante reglas cuando proceda | varias VM con salida compartida |
| Red interna | No | Sí, mismo nombre | No | laboratorio de servicios |
| Solo-anfitrión | No por defecto | Sí | Sí | administración desde el host |
| Puente | Sí, según LAN | Sí | Sí | solo con autorización |
Oracle VirtualBox 7.2 · Virtual Networking
19. Topología base de SER-LAB
Nuestro patrón será:
NIC 1 → NAT
NIC 2 → Red interna SER-LAB
Figura 8. Cada MV separa el acceso exterior de la red de servicios.
Direcciones iniciales:
ser-ser01 → 192.168.50.10/24
ser-cli01 → 192.168.50.20/24
ser-win01 → 192.168.50.30/24 (cuando lo necesitemos)
Idea crítica
NAT → mantenimiento / Internet
SER-LAB → tráfico de las prácticas
La interfaz de SER-LAB no necesita gateway en este escenario. La ruta por defecto debe continuar asociada a la salida NAT.
20. Configurar los dos adaptadores
Con la MV apagada:
Adaptador 1
Habilitado
Conectado a: NAT
Cable conectado: sí
Adaptador 2
Habilitado
Conectado a: Red interna
Nombre: SER-LAB
Cable conectado: sí
Repite en ser-ser01 y ser-cli01.
Ejercicio resuelto 7
Servidor:
Red interna: SER-LAB
Cliente:
Red interna: SER-LAB2
Las IP parecen correctas pero no se comunican.
Primera corrección: no toques las IP todavía. Conecta ambas vNIC al mismo segmento virtual.
PARTE III · ENTRAR EN DEBIAN Y ENTENDER LA TERMINAL
21. El primer login
Podemos encontrar:
Debian GNU/Linux 13 ser-ser01 tty1
ser-ser01 login:
Iniciamos sesión:
login: francano
password: ********
La contraseña no aparece en pantalla mientras la escribes. Es normal.
Después:
francano@ser-ser01:~$
Lo podemos leer así:
francano → usuario
ser-ser01 → máquina
~ → home
$ → usuario normal
22. Cuatro preguntas antes de trabajar
¿Quién soy?
whoami
¿En qué máquina estoy?
hostname
¿Dónde estoy?
pwd
¿Qué hay aquí?
ls
Ejercicio resuelto 8
$ whoami
francano
$ hostname
ser-ser01
$ pwd
/home/francano
Interpretación:
Estoy conectado como
francanoal servidorser-ser01y estoy situado en mi directorio personal.
23. Pedir ayuda
No memorices todas las opciones.
man ls
ls --help
man chmod
chmod --help
En man:
/ texto buscar
n siguiente resultado
q salir
Ejercicio guiado
Abre:
man ls
Busca:
human-readable
y localiza la opción que muestra tamaños en formato más legible.
Resultado esperado: descubrir -h utilizando la ayuda del propio sistema.
PARTE IV · SISTEMA DE ARCHIVOS Y MOVIMIENTO
24. Un único árbol que empieza en /
Figura 9. Linux organiza archivos y directorios bajo una única raíz /.
Rutas importantes:
| Ruta | Idea inicial |
|---|---|
/home |
directorios personales |
/etc |
configuración |
/var |
datos variables y registros |
/srv |
datos asociados a servicios |
/tmp |
temporales |
/root |
home de root |
/usr |
programas y recursos del sistema |
Hay que aprender a moverse y reconocer para qué sirven las zonas que vamos utilizando.
25. cd: cambiar de directorio
Ir a una ruta absoluta:
cd /etc
Volver al home:
cd ~
Subir al padre:
cd ..
Volver al directorio anterior:
cd -
Ejercicio resuelto 9
Estamos en:
/home/francano/practicas
Queremos ir a:
/home/francano
Solución:
cd ..
Ejercicio resuelto 10
Estamos en cualquier lugar y queremos llegar directamente a /var/log.
cd /var/log
26. Rutas absolutas y relativas
Absoluta:
/etc/hosts
Relativa:
practicas/uno.txt
Si estamos en /home/francano:
cd practicas
y:
cd /home/francano/practicas
pueden llevar al mismo lugar.
Símbolos fundamentales
| Símbolo | Significado |
|---|---|
/ |
raíz |
. |
directorio actual |
.. |
padre |
~ |
home |
- |
directorio anterior con cd - |
Mini ejercicio resuelto
Si estás en:
/srv/serlab/evidencias
cd .. te lleva a:
/srv/serlab
cd ../.. te lleva a:
/srv
27. ls: mirar antes de tocar
ls
ls -l
ls -a
ls -h
ls -lah
Una salida de ls -l puede contener:
-rw-r----- 1 francano serops 1240 sep 11 09:20 notas.txt
Todavía no hace falta entenderla entera.
Por ahora identifica:
tipo
permisos
propietario
grupo
tamaño
fecha
nombre
Ejercicio resuelto 11
Existe:
.config
pero ls no lo muestra.
Solución:
ls -a
En Linux, un nombre que comienza por . se trata como oculto en el listado normal.
28. Crear directorios y archivos
Crear un directorio:
mkdir practicas
Crear una estructura:
mkdir -p ~/ser/ut00/evidencias
Crear un archivo vacío:
touch notas.txt
Ejercicio guiado
Construye:
~/ser/
└── ut00/
├── apuntes/
├── practicas/
└── evidencias/
Solución sencilla:
mkdir -p ~/ser/ut00/apuntes
mkdir -p ~/ser/ut00/practicas
mkdir -p ~/ser/ut00/evidencias
Una forma compacta, cuando ya entiendas lo anterior:
mkdir -p ~/ser/ut00/{apuntes,practicas,evidencias}
Lo importante es entender el resultado, no escribir menos caracteres.
29. Copiar, mover y renombrar
Copiar:
cp notas.txt copia.txt
Mover:
mv copia.txt evidencias/
Renombrar:
mv notas.txt apuntes.txt
Ejercicio resuelto 12
Queremos conservar una copia antes de editar:
cp configuracion.conf configuracion.conf.bak
Después comprobamos:
ls -l configuracion.conf*
Ejercicio resuelto 13
Existe:
practia.txt
y queremos corregir el nombre:
mv practia.txt practica.txt
30. Eliminar con cabeza
Archivo:
rm fichero.txt
Con confirmación:
rm -i fichero.txt
Directorio vacío:
rmdir directorio
Directorio con contenido:
rm -r directorio
Antes de un borrado importante:
pwd
ls -la
No utilizaremos
rm -rfcomo gesto automático.
Primero debemos saber exactamente qué ruta estamos afectando.
Ejercicio resuelto 14
Quieres eliminar prueba.txt pero deseas confirmación.
rm -i prueba.txt
PARTE V · LEER, BUSCAR Y COMBINAR
31. Leer archivos
Archivo corto:
cat /etc/hostname
Archivo largo:
less /etc/services
Primeras líneas:
head -n 5 /etc/passwd
Últimas:
tail -n 5 /etc/passwd
Ejercicio resuelto 15
Un log tiene 5.000 líneas y quieres las 20 últimas.
tail -n 20 archivo.log
cat archivo.log también mostraría información, pero no sería la herramienta mejor elegida para esa pregunta.
32. Buscar texto con grep
grep "root" /etc/passwd
Ignorar mayúsculas/minúsculas:
grep -i "error" archivo.log
Mostrar número de línea:
grep -n "error" archivo.log
Ejercicio resuelto 16
Queremos localizar francano:
grep "francano" /etc/passwd
33. Buscar archivos con find
find /etc -type f -name "*.conf" 2>/dev/null
En el directorio actual:
find . -type f -name "*.log"
Ejercicio resuelto 17
Necesitas encontrar archivos de configuración bajo /etc.
Una solución:
find /etc -type f -name "*.conf" 2>/dev/null
2>/dev/null oculta en este ejemplo los mensajes de error de permisos. Más adelante veremos con detalle la redirección de errores.
34. Tuberías |
La tubería envía la salida de un comando al siguiente.
ps aux | grep ssh
Piensa:
ps aux
↓ produce muchas líneas
grep ssh
↓ conserva las relacionadas con ssh
Otro ejemplo:
ip address | less
Ejercicio resuelto 18
Queremos ver procesos relacionados con Apache:
ps aux | grep apache
Más adelante conoceremos alternativas más específicas como pgrep.
35. Redirecciones básicas
Crear o sustituir:
hostname > equipo.txt
Añadir:
date >> equipo.txt
Comprobar:
cat equipo.txt
Ejercicio resuelto 19
Queremos guardar hostname y fecha en el mismo fichero:
hostname > datos.txt
date >> datos.txt
Clave:
> sustituye
>> añade
PARTE VI · USUARIOS, GRUPOS Y PERMISOS
36. Saber quién eres de verdad
whoami
id
groups
Ejemplo de id:
uid=1000(francano) gid=1000(francano) groups=1000(francano),27(sudo)
Esto nos permite distinguir:
- usuario;
- UID;
- grupo principal;
- grupos suplementarios.
37. Crear usuarios y grupos
Crear usuario:
sudo adduser tecnico01
Comprobar:
id tecnico01
Crear grupo:
sudo addgroup serops
Comprobar:
getent group serops
Añadir usuario:
sudo usermod -aG serops tecnico01
- a (append): Indica que se va a añadir o adjuntar el usuario al nuevo grupo. Es fundamental incluir esta opción; si la olvidas y usas solo -G, el usuario será eliminado de todos los demás grupos a los que pertenecía.
- G (groups) : Especifica la lista de grupos secundarios (suplementarios) a los que deseas asociar al usuario. Verificar:
id tecnico01
Ejercicio resuelto 20
Queremos añadir francano a serops sin perder otros grupos.
sudo usermod -aG serops francano
Después:
id francano
Tras cambiar grupos, una sesión que ya estaba abierta puede necesitar cerrarse y volver a abrirse para reflejar la nueva pertenencia.
38. sudo y mínimo privilegio
sudo no significa:
«si da error, pon sudo».
Significa:
«ejecuta esta operación concreta con privilegios administrativos».
Ejemplo:
sudo adduser tecnico02
No necesitas sudo para:
pwd
ls
cat ~/notas.txt
Ejercicio resuelto 21
Quieres comprobar tu directorio actual.
¿Usarías?
sudo pwd
No es necesario.
pwd
responde a la pregunta sin elevar privilegios.
39. Leer permisos
Figura 10. Los permisos se dividen entre propietario, grupo y otros.
Ejemplo:
-rw-r-----
Separación:
rw- | r-- | ---
u g o
En archivos
r → leer
w → modificar
x → ejecutar
En directorios
r → listar nombres
w → crear/eliminar entradas
x → atravesar la ruta
La x en directorios será muy importante cuando trabajemos con servidores.
40. Permisos numéricos
r = 4
w = 2
x = 1
Por tanto:
7 = rwx
6 = rw-
5 = r-x
4 = r--
0 = ---
Ejemplos:
600 → rw- --- ---
640 → rw- r-- ---
750 → rwx r-x ---
755 → rwx r-x r-x
Aplicar:
chmod 640 notas.txt
Ejercicio resuelto 22
¿Qué significa 750 en un directorio?
propietario → rwx
grupo → r-x
otros → ---
El grupo puede listar y atravesar, pero no crear entradas.
41. Cambiar permisos, propietario y grupo
Añadir ejecución al dueño:
chmod u+x fichero
Quitar escritura al grupo:
chmod g-w fichero
Cambiar propietario y grupo:
sudo chown francano:serops documento.txt
Comprobar:
ls -l documento.txt
Ejercicio resuelto 23
Queremos que un archivo solo pueda ser leído y modificado por su propietario:
chmod 600 archivo.txt
Ampliación: umask
`umask` participa en los permisos iniciales de nuevos archivos y directorios. ```bash umask umask -S ``` Por ejemplo, con una máscara habitual `0022`, un archivo solicitado como `666` termina normalmente en `644`. No es necesario dominarlo para superar la parte básica de UT00.PARTE VII · PAQUETES, PROCESOS, SERVICIOS Y LOGS
42. Paquetes en Debian
Actualizar información de repositorios:
sudo apt update
Buscar:
apt search nginx
Consultar:
apt policy nginx
Instalar:
sudo apt install nginx
Idea importante
paquete instalado
≠
servicio activo
≠
puerto escuchando
≠
cliente funcionando
43. Procesos
ps
ps aux
Filtrar:
ps aux | grep ssh
Consulta más directa:
pgrep -a ssh
Ejercicio resuelto 24
La pregunta es:
«¿Existe algún proceso relacionado con SSH?»
Una primera comprobación puede ser:
pgrep -a ssh
44. Servicios con systemctl
Nos permite controlar y administrar el gestor de sistemas y servicios.
Estado:
systemctl status ssh
¿Está activo?
systemctl is-active ssh
Arrancar:
sudo systemctl start ssh
Detener:
sudo systemctl stop ssh
Reiniciar:
sudo systemctl restart ssh
Ejercicio resuelto 25
Alguien afirma:
«SSH está instalado, por tanto funciona».
No podemos concluirlo.
Podemos comprobar:
systemctl status ssh
y después, si buscamos una escucha:
sudo ss -lntp
45. Logs con journalctl
Permite gestionar y administrar de forma centralizada los registros del sistema gestionados por el sistema.
Arranque actual:
journalctl -b
Un servicio:
journalctl -u ssh
Últimas 30 líneas:
journalctl -u ssh -b -n 30 --no-pager
Ejercicio resuelto 26
SSH no inicia.
Antes de reiniciarlo cinco veces:
systemctl status ssh
journalctl -u ssh -b -n 30 --no-pager
El estado nos dice qué ocurre ahora; el log puede explicar qué ocurrió.
46. Puertos y sockets
TCP en escucha:
ss -lnt
TCP y UDP:
ss -lntu
Con procesos:
sudo ss -lntup
Opciones:
-l → listening
-n → valores numéricos
-t → TCP
-u → UDP
-p → proceso
Ejercicio resuelto 27
Queremos comprobar si existe una escucha TCP en el puerto 22:
sudo ss -lntp | grep ':22'
PARTE VIII · RED Y DIAGNÓSTICO
47. Interfaces y direcciones
ip -br address
Ejemplo:
lo UNKNOWN 127.0.0.1/8
enp0s3 UP 10.0.2.15/24
enp0s8 UP 192.168.50.10/24
Si SER-LAB es 192.168.50.0/24, la segunda interfaz parece corresponder a la red interna.
No lo deduzcas solo por el nombre: confirma con rutas y configuración del hipervisor.
48. Rutas
ip route
Ejemplo conceptual:
default via 10.0.2.2 dev enp0s3
192.168.50.0/24 dev enp0s8
Interpretación:
destinos externos → NAT
SER-LAB → enp0s8 directamente
Preguntar una ruta concreta:
ip route get 192.168.50.20
ip route get 1.1.1.1
Ejercicio resuelto 28
Para 192.168.50.20 esperamos usar la interfaz de SER-LAB.
Para 1.1.1.1 esperamos la interfaz NAT.
Si ambos destinos salen por la misma interfaz, tenemos algo que investigar.
49. ping, ss, nc y curl no demuestran lo mismo
Conectividad ICMP:
ping -c 4 192.168.50.20
Intento TCP:
nc -vz 192.168.50.10 22
Petición HTTP:
curl -v http://192.168.50.10/
| Herramienta | Pregunta principal |
|---|---|
ip -br a |
¿qué interfaces e IP tengo? |
ip route |
¿qué rutas conoce mi equipo? |
ping |
¿hay intercambio ICMP si está permitido? |
ss |
¿qué sockets existen en este equipo? |
nc |
¿puedo establecer transporte hacia un puerto? |
curl |
¿responde una aplicación HTTP? |
journalctl |
¿qué ha registrado sistema/servicio? |
Ejercicio resuelto 29
ping servidor → correcto
curl web → connection refused
No es contradictorio.
El host responde a ICMP, pero probablemente no hay un proceso aceptando conexiones en el puerto HTTP esperado.
50. Escalera de diagnóstico
Figura 11. Diagnosticar significa comprobar una capa antes de saltar a la siguiente.
Regla:
No reinicies un servicio para arreglar una IP incorrecta.
Una secuencia útil:
VM
↓
adaptador
↓
interfaz/IP
↓
red local
↓
ruta
↓
nombre
↓
puerto
↓
servicio
↓
aplicación
↓
permisos/logs
PARTE IX · LABORATORIO GUIADO
51. Construir SER-LAB desde cero
Servidor
VM: ser-ser01
SO: Debian 13
RAM: 2 GB
CPU: 2 vCPU
Disco: 25 GB dinámico
NIC 1: NAT
NIC 2: Red interna SER-LAB
IP SER-LAB: 192.168.50.10/24
Usuario: francano
Cliente
VM: ser-cli01
SO: Debian 13
NIC 1: NAT
NIC 2: Red interna SER-LAB
IP SER-LAB: 192.168.50.20/24
Fase A · virtualización
- crea las VM;
- instala Debian;
- comprueba que ambas arrancan;
- configura dos adaptadores;
- crea
00_BASE_LIMPIA.
Fase B · reconocimiento
En ambas VM:
whoami
hostname
pwd
ip -br address
ip route
Para cada comando escribe:
qué busco → salida relevante → qué significa
Fase C · terminal
Crea:
~/ser/ut00/
├── apuntes/
├── practicas/
├── evidencias/
└── copias/
Después practica:
touch
cp
mv
rm -i
cat
less
grep
Fase D · usuarios y permisos
Crea:
grupo: serops
usuario: tecnico01
Comprueba pertenencias y aplica distintos permisos a archivos de prueba.
Fase E · red
Comprueba que:
ser-ser01 ↔ ser-cli01 por SER-LAB
y que la salida exterior utiliza NAT.
PARTE XII · CHULETA OPERATIVA
58. Identidad y navegación
whoami
id
groups
hostname
pwd
ls -lah
cd /ruta
cd ..
cd ~
cd -
59. Archivos
mkdir -p ruta
touch fichero
cp origen destino
mv origen destino
rm -i fichero
cat fichero
less fichero
head -n 20 fichero
tail -n 20 fichero
grep -n "texto" fichero
find . -type f -name "*.conf"
60. Usuarios y permisos
sudo adduser usuario
sudo addgroup grupo
sudo usermod -aG grupo usuario
id usuario
ls -l
chmod 600 fichero
chmod 640 fichero
chmod 750 directorio
sudo chown usuario:grupo fichero
61. Sistema y red
cat /etc/os-release
ps aux
systemctl status SERVICIO
journalctl -u SERVICIO -b -n 30 --no-pager
sudo ss -lntup
ip -br address
ip route
ip route get DESTINO
ping -c 4 DESTINO
PARTE XIV · REFERENCIAS OFICIALES
62. Currículo
- Decreto 272/2009, de 28 de diciembre · currículo SMR en Extremadura
- Real Decreto 1691/2007 · título de Técnico en SMR
63. Virtualización
- Oracle VirtualBox · Downloads
- Oracle VirtualBox 7.2 · Virtual Networking
- Oracle VirtualBox · Security Guide
- Broadcom Support · VMware
- Microsoft Learn · Hyper-V
64. Sistemas operativos y Linux
- Debian · netinst
- Debian 13 “trixie”
- Debian Reference
- GNU Coreutils Manual
- Microsoft · Descargar Windows 11
65. Qué viene después
Cuando esta base sea cómoda, comenzaremos:
UT01 · DHCP
A partir de ese momento los comandos dejarán de aparecer como ejercicios aislados.
Los utilizaremos para:
instalar
↓
configurar
↓
arrancar
↓
comprobar
↓
probar desde cliente
↓
diagnosticar
↓
explicar