Gestión de Daemons
Identificación de Procesos del Sistema Iniciados Automáticamente
Objetivo
Enumerar los daemons y servicios de red iniciados por systemd
, incluyendo unidades service
y socket
.
¿Qué es systemd y qué hace?
systemd
es el primer proceso que se inicia en Linux (PID 1). Se encarga de:
- Iniciar servicios y procesos durante el arranque.
- Gestionar servicios en ejecución.
- Coordinar recursos y dependencias.
Ventajas:
- Inicio paralelo de servicios → arranque más rápido.
- Activación on-demand mediante sockets o eventos.
- Gestión automática de dependencias.
- Seguimiento mediante cgroups.
Unidades de systemd
Una unidad (unit
) es cualquier recurso que systemd
puede manejar. Cada unidad tiene un tipo y una extensión.
Tipos Comunes:
Tipo de Unidad | Extensión | Descripción |
---|---|---|
Servicio | .service | Daemon de sistema (ej: sshd ) |
Socket | .socket | Permite activar servicios bajo demanda |
Path | .path | Activa servicios al detectar cambios en rutas |
Ejemplos de Servicios Activos
systemctl list-units --type=service
Muestra servicios cargados y activos. Columnas:
- UNIT: nombre del servicio (
sshd.service
) - LOAD: si la unidad está cargada
- ACTIVE: estado general (activo/inactivo)
- SUB: estado específico (running, exited…)
- DESCRIPTION: breve explicación
Para ver todos, incluso inactivos:
systemctl list-units --type=service --all
Para ver todas las unidades instaladas:
systemctl list-unit-files --type=service
Estados de Servicio
Estado | Significado |
---|---|
active (running) | Servicio ejecutándose |
active (exited) | Servicio oneshot, ya terminó |
inactive | No está activo |
enabled | Se inicia al arrancar |
disabled | No se inicia automáticamente |
static | Solo inicia si lo llama otro servicio |
failed | Falló al arrancar |
Verificar Servicios Específicos
systemctl status sshd.service
Muestra:
- PID principal
- Memoria y CPU usadas
- Registros recientes del servicio
systemctl is-active sshd.service
→ Verifica si está corriendo
systemctl is-enabled sshd.service
→ Verifica si inicia automáticamente
systemctl is-failed sshd.service
→ Muestra si falló en el arranque
systemctl --failed --type=service
→ Lista servicios que fallaron
Ejemplo Práctico
Ver estado y configuración del demonio sshd
(servidor SSH):
systemctl status sshd.service
systemctl is-active sshd.service
systemctl is-enabled sshd.service
systemctl is-failed sshd.service