Ir al contenido

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.

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.

El daemon corre como servicio con capacidades mínimas, no como root pleno:

  • CAP_BPF / CAP_PERFMON (vía AmbientCapabilities de systemd): las capacidades justas para leer las métricas de eBPF del kernel. Nada más. No usa setcap sobre 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:

Ventana de terminal
sudo systemctl edit caudalghostd

y añade el override:

[Service]
Environment=CAUDALGHOST_ACL_ACTIVE_USERS=1

Luego 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.

MomentoPrivilegioPor qué
Instalar / actualizarcon privilegios (sudo)registrar servicio, usuario, regla polkit
Daemon en marchaCAP_BPF/CAP_PERFMON (no root pleno)leer métricas de eBPF
Resolver hostnamesregla polkitsuscribirse a systemd-resolved
Usar GUI / CLI (escritorio)ningunoacceso al socket por tu UID
Servidor multiusuariogrupo caudalghostdecidir 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.