Estructura de un servidor Linux¶
Este módulo explica cómo se organiza un servidor Linux en la práctica, qué directorios son críticos, cuáles se tocan habitualmente y cuáles no, y cómo esta estructura influye directamente en la administración, la seguridad y el troubleshooting.
Entender la estructura de un servidor es esencial para no romper el sistema, localizar problemas rápido y aplicar cambios con criterio.
Introducción¶
Linux tiene una estructura de directorios estándar, pero en un servidor no todos los directorios tienen el mismo peso.
Un sysadmin no necesita conocer cada archivo del sistema, pero sí debe saber:
- Dónde está la configuración
- Dónde están los datos
- Dónde escriben los servicios
- Qué directorios son críticos
- Qué se puede tocar y qué no
Muchos incidentes en producción ocurren simplemente por modificar archivos en el lugar incorrecto.
En servidores, saber dónde estás es tan importante como saber qué comando ejecutar.
Visión general del filesystem en servidores¶
Todo en Linux cuelga de un único punto raíz:
/
Desde ahí se organiza el sistema en directorios con responsabilidades claras.
En administración de servidores, los más importantes son:
/etc→ configuración/var→ datos cambiantes/srv→ datos de servicios/opt→ software adicional/home→ usuarios (si aplica)/tmp→ temporales/usr→ software del sistema
/etc — Configuración del sistema¶
El directorio más crítico para un sysadmin.
Contiene:
- Configuración del sistema
- Configuración de servicios
- Configuración de red
- Configuración de usuarios
Ejemplos importantes:
/etc/passwd
/etc/group
/etc/ssh/sshd_config
/etc/nginx/nginx.conf
Características clave:
- Archivos de texto
- Cambios tienen impacto inmediato o tras reiniciar servicios
- Debe estar respaldado
⚠️ Nunca edites
/etcsin saber exactamente qué estás cambiando.
/var — Datos variables del sistema¶
Aquí vive todo lo que cambia con el tiempo.
Incluye:
- Logs
- Cachés
- Colas
- Bases de datos de servicios
- Archivos temporales persistentes
Subdirectorios clave:
/var/log
/var/lib
/var/cache
/var/spool
Ejemplo:
/var/log/nginx/
/var/lib/mysql/
💡 Muchos problemas “raros” vienen de un
/varlleno.
/srv — Datos de servicios¶
Diseñado para contener datos servidos por servicios.
Ejemplos:
/srv/www
/srv/ftp
/srv/app
Ventajas:
- Separación clara entre sistema y datos
- Facilita backups
- Facilita migraciones
✅ Muy recomendable en servidores bien organizados.
/opt — Software adicional¶
Usado para:
- Software no gestionado por el sistema
- Aplicaciones de terceros
- Instalaciones manuales
Ejemplo:
/opt/sonarqube
/opt/custom-app
Características:
- No mezcla binarios con el sistema
- Facilita mantenimiento
- Reduce riesgo en actualizaciones
/home — Directorios de usuarios¶
En servidores:
- Puede no existir para usuarios humanos
- A veces solo contiene cuentas técnicas
- No debe usarse para datos de servicios
Ejemplo:
/home/admin
/home/backup
⚠️ En servidores,
/homeno es un lugar genérico para guardar cosas.
/tmp — Archivos temporales¶
Directorio para datos temporales:
/tmp
Características:
- Acceso amplio
- Limpieza automática
- No persistente
⚠️ Nunca guardes datos importantes en
/tmp.
/usr — Software del sistema¶
Contiene:
- Binarios (
/usr/bin) - Librerías (
/usr/lib) - Documentación (
/usr/share)
Ejemplo:
/usr/bin/ls
/usr/bin/ssh
❗ Como sysadmin, no deberías modificar
/usrmanualmente.
Separación clave en servidores¶
Un buen sysadmin distingue claramente entre:
| Tipo | Ubicación |
|---|---|
| Configuración | /etc |
| Datos | /var, /srv |
| Software | /usr, /opt |
| Temporales | /tmp |
Esta separación facilita:
- Backups
- Seguridad
- Diagnóstico
- Recuperación ante fallos
Estructura típica de un servicio¶
Ejemplo de servicio web bien organizado:
/etc/nginx/ → configuración
/var/log/nginx/ → logs
/srv/www/app/ → datos
/usr/sbin/nginx → binario
Si sabes esto, sabes dónde mirar cuando algo falla.
Puntos críticos / Errores comunes¶
Errores habituales en administración:
- Guardar datos en
/etc - Editar archivos en
/usr - Mezclar datos y configuración
- Usar
/tmppara cosas importantes - No saber qué directorio se está tocando
- No respaldar
/etcy/var
Consejo: si no sabes qué contiene un directorio, no lo toques.
Ejercicios prácticos¶
1. Identificar estructura del sistema¶
ls /
Identifica qué directorios son críticos para un sysadmin.
2. Analizar un servicio instalado¶
dpkg -L nginx
Localiza:
- Configuración
- Logs
- Binario
3. Revisar uso de /var¶
df -h /var
du -sh /var/log/*
Mentalidad¶
Un sysadmin debe pensar así:
- Cada directorio tiene una función
- No todo es un “sitio donde guardar cosas”
- La organización evita incidentes
- La estructura ayuda al troubleshooting
- Saber dónde mirar ahorra tiempo y errores
La estructura del sistema es mapa mental del servidor.
Resumen¶
- Todo en Linux cuelga de
/ /etccontiene configuración crítica/varcontiene datos cambiantes y logs/srvy/optayudan a organizar servicios- Separar datos, configuración y software es clave
- Muchos errores vienen de tocar el sitio incorrecto
Siguiente paso¶
En el siguiente módulo entrarás en:
Gestión de usuarios en servidores Linux 03-usuarios.md
Donde verás:
- Usuarios humanos vs usuarios técnicos
- Grupos como herramienta administrativa
- Uso correcto de sudo en servidores
- Buenas prácticas de acceso en producción