Privilegios y permisos
CaudalGhost necesita privilegios para dos cosas concretas del kernel, y los obtiene de la forma más acotada posible. En tu uso diario NO necesitas sudo.
Por qué pide privilegios al instalar
Sección titulada «Por qué pide privilegios al instalar»La instalación se hace con privilegios (sudo) porque:
- Registra el servicio systemd del daemon.
- Crea el usuario/grupo de servicio
caudalghost. - Instala una regla de permisos (polkit) y la configuración del servicio.
Esto pasa una sola vez, al instalar o actualizar.
Por qué NO necesitas sudo después
Sección titulada «Por qué NO necesitas sudo después»El daemon corre como servicio con capacidades mínimas, no como root pleno:
CAP_BPF/CAP_PERFMON(víaAmbientCapabilitiesde systemd): las capacidades justas para leer las métricas de eBPF del kernel. Nada más. No usasetcapsobre binarios sueltos.- Acceso al socket sin sudo (escritorio): en la edición de escritorio, el daemon concede acceso a su socket a tu sesión de usuario automáticamente (por UID, refrescado cada pocos segundos). Por eso la GUI y la CLI funcionan sin elevar privilegios. En la edición servidor este acceso automático viene desactivado (ver más abajo).
Resolución de nombres (hostnames) vía polkit
Sección titulada «Resolución de nombres (hostnames) vía polkit»Para convertir IPs en hostnames, el daemon se suscribe a los resultados de consulta del resolvedor del sistema (systemd-resolved). Ese acceso está gateado por polkit, no por UID: una regla instalada (org.freedesktop.resolve1.subscribe-query-results) autoriza al servicio. Si el resolvedor no está disponible, CaudalGhost degrada con elegancia y muestra IPs crudas, sin fallar.
Acceso en equipos multiusuario (edición servidor)
Sección titulada «Acceso en equipos multiusuario (edición servidor)»CaudalGhost mide el tráfico de toda la máquina, no por usuario. En un escritorio (un solo usuario) eso es justo lo que quieres: instalas, abres y funciona. En un servidor con varios usuarios conviene decidir quién puede consultar esa telemetría, así que cada edición trae un valor por defecto distinto:
-
Edición escritorio: el daemon concede acceso al socket a tu sesión automáticamente (por UID).
-
Edición servidor (headless): el acceso por UID viene desactivado. El socket solo lo concede el grupo
caudalghost, y el administrador añade a los usuarios de confianza de forma explícita:Ventana de terminal sudo usermod -aG caudalghost <usuario>(Quien instala el paquete ya queda en el grupo.)
Permitir el acceso a todos los usuarios con sesión
Sección titulada «Permitir el acceso a todos los usuarios con sesión»Si de verdad quieres que cualquier usuario con sesión iniciada pueda consultar la telemetría (por ejemplo, una estación compartida de confianza), actívalo de forma intencional:
sudo systemctl edit caudalghostdy añade el override:
[Service]Environment=CAUDALGHOST_ACL_ACTIVE_USERS=1Luego sudo systemctl restart caudalghostd.
Observa, jamás interfiere: esto solo decide quién puede leer las mediciones; CaudalGhost nunca bloquea ni modifica el tráfico.
En resumen
Sección titulada «En resumen»| Momento | Privilegio | Por qué |
|---|---|---|
| Instalar / actualizar | con privilegios (sudo) | registrar servicio, usuario, regla polkit |
| Daemon en marcha | CAP_BPF/CAP_PERFMON (no root pleno) | leer métricas de eBPF |
| Resolver hostnames | regla polkit | suscribirse a systemd-resolved |
| Usar GUI / CLI (escritorio) | ninguno | acceso al socket por tu UID |
| Servidor multiusuario | grupo caudalghost | decidir quién lee la telemetría |
Observa, jamás interfiere: ninguna de estas capacidades permite a CaudalGhost bloquear, modificar ni inyectar tráfico. Solo leer y medir.