02 06 Carpetas SBIN y SRV

 

 Carpetas del sistema – /sbin, /selinux y /srv

En este tutorial exploraremos tres carpetas más del sistema de archivos de Linux: /sbin (binarios del sistema), /selinux (seguridad) y /srv (servicios). Conocerlas te ayudará a entender dónde se almacenan los comandos de administración, cómo se gestiona la seguridad en algunas distribuciones y por qué ciertas carpetas tradicionales están en desuso en la práctica actual.


1. /sbin – Binarios del sistema (System Binaries)

¿Qué es?

/sbin contiene programas ejecutables (binarios) que son esenciales para la administración y el funcionamiento del sistema operativo. Es similar a /bin, pero con una diferencia clave en su propósito.

Diferencia entre /bin y /sbin

  • /bin (binaries): Contiene comandos básicos para todos los usuarios, como ls, cp, mv, mkdir, etc. Son herramientas de uso general que se instalan "encima" del sistema operativo y son imprescindibles para la interacción diaria.

  • /sbin (system binaries): Contiene comandos para la gestión del propio sistema operativo, como configurar la red, apagar o reiniciar el equipo, montar sistemas de archivos, etc. Estos comandos suelen requerir permisos de superusuario (root) para ejecutarse.

Ejemplos de comandos en /sbin

  • ifconfig – Configurar interfaces de red.

  • reboot – Reiniciar el sistema.

  • shutdown – Apagar o reiniciar el sistema.

  • mount – Montar sistemas de archivos.

  • fdisk – Gestionar particiones de disco.

¿Cómo verlos?

bash
ls /sbin               # Lista los binarios del sistema
# Verás comandos como: ifconfig, reboot, shutdown, mount, fdisk, etc.

Importante

Aunque /sbin está pensado para comandos de administración, en muchas distribuciones modernas la distinción se ha difuminado, y algunos comandos pueden aparecer tanto en /bin como en /sbin (a veces mediante enlaces simbólicos). Sin embargo, la idea sigue siendo la misma: los comandos de /sbin son para tareas de bajo nivel del sistema.


2. /selinux – Seguridad para Linux (Security-Enhanced Linux)

¿Qué es?

/selinux es el directorio asociado a SELinux (Security-Enhanced Linux), un módulo de seguridad desarrollado por la NSA que proporciona mecanismos de control de acceso obligatorio (MAC) más allá de los permisos tradicionales de usuario y grupo. Esta carpeta contiene archivos de configuración y estado de SELinux.

¿Está siempre presente?

  • No. SELinux es común en distribuciones como Red Hat, CentOS, Fedora, pero en Ubuntu (que usamos en estos tutoriales) no está habilitado por defecto (Ubuntu usa AppArmor como alternativa). Por lo tanto, en Ubuntu es posible que la carpeta /selinux no exista, o que esté vacía.

  • Si existe, su contenido es para administradores de seguridad y no debe modificarse a menos que sepas exactamente lo que haces.

¿Para qué sirve?

Permite definir políticas de seguridad muy detalladas, restringiendo lo que cada proceso puede hacer (leer, escribir, ejecutar, etc.) incluso si es ejecutado por root. Es una capa adicional de protección.

Ejemplo en sistemas con SELinux

bash
ls /selinux            # En sistemas con SELinux, verás archivos como enforce, policy, etc.
# Para ver el estado de SELinux:
getenforce             # Muestra si está activado (Enforcing, Permissive o Disabled)

3. /srv – Datos de servicios (Server)

¿Qué es?

/srv es una carpeta diseñada para almacenar datos de servicios que se ejecutan en el servidor, como páginas web, archivos FTP, repositorios, etc. Según el estándar FHS (Filesystem Hierarchy Standard), aquí deberían ir los datos específicos de cada servicio.

Uso práctico

  • Por ejemplo, si tienes un servidor web Apache, podrías colocar los archivos de tus sitios en /srv/www/.

  • Si tienes un servidor FTP, podrías poner los archivos en /srv/ftp/.

¿Por qué está vacía en nuestro Ubuntu?

En nuestro servidor recién instalado, /srv está vacía porque:

  • Solo hemos instalado OpenSSH, que no necesita almacenar datos en /srv (sus archivos de configuración están en /etc/ssh y los logs en /var/log).

  • La tendencia actual en muchas distribuciones (incluyendo Ubuntu) es mover los binarios de los servicios a /usr/bin o /usr/sbin, y los datos a /var (por ejemplo, /var/www para Apache). Esto se debe a que /var está pensado para datos variables, y es más flexible para discos separados, respaldos, etc.

Entonces, ¿para qué sigue existiendo /srv?

  • Compatibilidad: Linux intenta mantener la compatibilidad con el estándar FHS. Si un programa externo (no oficial de Ubuntu) espera encontrar datos en /srv, la carpeta debe existir para que la instalación no falle.

  • Aunque en la práctica muchos administradores prefieren usar /var o /home, /srv sigue siendo una opción válida y recomendada por el estándar para datos de servicios.

Ejemplo de uso

bash
sudo mkdir -p /srv/www/misitio   # Crear una carpeta para un sitio web
sudo chown -R www-data:www-data /srv/www/misitio   # Asignar propietario al usuario del servidor web

4. Resumen comparativo

CarpetaFunción principalContenido típico¿Requiere root?
/sbinBinarios para administración del sistemaifconfig, reboot, shutdown, mountCasi siempre (root)
/selinuxConfiguración y estado de SELinux (seguridad)Archivos de políticas y estadoSolo lectura para root
/srvDatos de servicios (servidores web, FTP, etc.)Subcarpetas para cada servicio (www, ftp, etc.)Normalmente root, pero se asigna a usuarios de servicio

5. Comandos prácticos para explorar

bash
# Ver los binarios de sistema
ls /sbin | head -20     # Muestra los primeros 20 comandos

# Ver si existe /selinux (en Ubuntu probablemente no)
ls -ld /selinux         # Si no existe, verás "No such file or directory"

# Ver el contenido de /srv (vacío en una instalación básica)
ls -l /srv

# Probar un comando de /sbin que requiera root (con sudo)
sudo /sbin/ifconfig     # Muestra la configuración de red

6. Conclusión

  • /sbin es la carpeta de los comandos que mantienen el sistema funcionando: apagado, red, discos, etc. Recuerda que necesitarás sudo para ejecutar la mayoría de ellos.

  • /selinux es específica de distribuciones que usan SELinux (como Red Hat); en Ubuntu no suele aparecer, pero es bueno saber que existe si trabajas con otros sistemas.

  • /srv es una carpeta tradicional para datos de servicios. Aunque hoy muchos administradores prefieren /var, sigue siendo parte del estándar y puede ser útil para mantener la organización, especialmente si trabajas con aplicaciones que esperan encontrarla.

Con estas tres carpetas, completamos un conjunto importante de directorios del sistema. Ahora ya tienes una visión más amplia de cómo se organiza Linux y dónde buscar cada cosa.

Próximo paso: Profundiza en la práctica ejecutando algunos comandos de /sbin con sudo y observa cómo interactúan con el sistema.

Comentarios

Entradas más populares de este blog

ejercicios-Crear Carpeta y Archivo de Texto en Ubuntu

Claves SSH en Ubuntu Server - Guía Completa

Tutorial de Carpetas y Directorios en Ubuntu Linux