Linux & Shell

Decodificar capacidades Linuxbit a bit

Pega una máscara hexadecimal o una línea Cap de /proc. Consulta sus capacidades o prepara otra combinación mediante las casillas.

Decodificar capacidades Linux

Crear máscara por nombres

Decodifica un valor válido primero. Cada casilla muestra un cambio de un bit; los bits sin nombre se conservan.

Capacidades decodificadas

El valor pegado se procesa en este navegador, sin leer el sistema ni enviarlo a un servidor.

Interpretación y exportación

Tablas UAPI fijas; no detectan el núcleo ni simulan sus comprobaciones de permisos.

El resultado está desactualizado. Decodifica antes de cambiar bits o exportar.

Decodificar capacidades Linux ayuda cuando el estado de un proceso muestra una larga cifra hexadecimal. Conserva CapEff o CapBnd junto al valor: el mismo número puede aparecer en conjuntos con funciones distintas.

El ejemplo contiene 14 capacidades conocidas. Sirve para explicar la notación; no representa los permisos de tu equipo ni la configuración de todos los contenedores. Antes de interpretar nombres, identifica el campo y el origen de la captura.

Decodificar capacidades Linux sin perder información

El valor y la tabla usada para interpretarlo se mantienen separados.

Relaciona cada posición con un nombre

Decodificar capacidades Linux muestra el nombre CAP_* y un resumen para cada bit reconocido. Al cambiar una casilla aparece primero una vista previa del bit afectado y de las máscaras anterior y nueva; la entrada solo cambia al aplicar.

Una máscara conectada a fichas de capacidades, con las posiciones activas resaltadas

Lee bits nuevos con tablas antiguas

Una posición desconocida en 3.16 puede tener nombre en 5.9. Cambiar la tabla conserva la cifra completa, incluidos los bits altos hasta el 63. La falta de nombre nunca provoca que se descarte parte del conjunto.

El mismo patrón bajo dos tablas, donde un bit sin nombre pasa a ser reconocido

Comprueba el campo antes de reconstruir la máscara

01

Usa un solo conjunto

Introduce un valor solo o una línea como CapEff: 0000000000000003. Una entrada formada solo por dígitos también es hexadecimal: 10 equivale a 16 decimal. No mezcles los distintos campos Cap.

02

Selecciona la tabla adecuada

Las tablas 3.16, 5.8 y 5.9 terminan en los bits 37, 39 y 40. Son diccionarios UAPI fijos, no detectores del núcleo en ejecución. Las adaptaciones de una distribución deben comprobarse en el sistema de destino.

03

Revisa el cambio propuesto

Las casillas necesitan un resultado válido y actualizado. Aplicar sustituye a la vez la entrada y el informe; Deshacer recupera el texto original con su etiqueta. El modo manual también admite Ctrl/Cmd + Enter.

Precisión numérica y contexto de cada capacidad

Toda la máscara de 64 bits

La máscara hexadecimal se calcula como entero sin signo. Se presenta con 16 dígitos hexadecimales en minúsculas y 64 dígitos binarios. JSON guarda tanto la máscara como el decimal en cadenas, evitando redondear los valores grandes.

Números y descripciones breves

Cada capacidad reconocida incluye su posición y una explicación resumida. CAP_NET_BROADCAST se identifica expresamente como sin uso. Las posiciones fuera de la tabla aparecen aparte, sin inventar nombres ni deducir un nivel de riesgo.

Informes con el campo original

Texto y JSON incluyen la versión de la tabla, el campo CapEff u otra etiqueta reconocida y todos los bits activados. Esto facilita contrastar con capsh. El texto exportado es un informe de datos, no un argumento ejecutable para setcap.

Sintaxis aceptada y límites de la interpretación

Un valor hexadecimal sin signo
Se aceptan 1–16 dígitos ASCII, con 0x o 0X opcional y espacios exteriores. La entrada completa admite 256 unidades UTF-16. Se rechazan signos, separadores y valores demasiado largos, sin adivinar la base ni truncar bits.
Un campo por operación
Se reconocen CapInh, CapPrm, CapEff, CapBnd y CapAmb seguidos de dos puntos. Se rechazan el status completo, varias líneas con contenido, listas de nombres y expresiones +ep. No se importan PID, archivos ni URL.
No se simulan permisos reales
No se reproducen las reglas de execve, espacios de nombres, securebits, seccomp ni LSM. Una máscara no permite decidir los permisos mínimos de un programa, el modo privilegiado de un contenedor o su seguridad.
Los bits sin nombre sobreviven
Solo se pueden cambiar las posiciones conocidas mediante casillas. El resto sigue en la máscara y el informe aunque se elija una tabla anterior. No hay selección global, borrado de bits desconocidos ni generación de órdenes para conceder privilegios.
Resultados vigentes y cambios reversibles
Editar la entrada o la tabla bloquea inmediatamente la exportación. La decodificación automática espera 350 ms y, al desactivarla, se cancela el trabajo pendiente. Ejemplo, vaciado y cambio de bit muestran una vista previa y admiten un paso de deshacer.

Decodificar capacidades Linux: preguntas

¿Cómo puedo consultar las capacidades de un proceso?

En el equipo Linux de destino, revisa los campos Cap de /proc/PID/status o utiliza getpcaps si está disponible. Pega aquí una sola línea. capsh --decode ofrece una alternativa local para interpretar hexadecimal; esta página no consulta procesos.

¿Cómo averiguo qué capacidades necesita un programa?

El conjunto que posee no es necesariamente el mínimo que necesita. Consulta la documentación, revisa sus operaciones y observa cargas representativas en un entorno controlado. Este decodificador no rastrea llamadas ni recomienda permisos mínimos.

¿Por qué las capacidades permitidas no siempre son efectivas?

El conjunto permitido limita qué capacidades puede activar un hilo en su conjunto efectivo. Este último interviene en las comprobaciones de capacidades. Por eso un hilo puede conservar una capacidad permitida sin activarla en ese momento.

¿Qué significa ep en una expresión de capacidades?

En libcap, p se refiere al conjunto permitido y e al estado efectivo. Las capacidades de archivo tienen una bandera efectiva que participa en las reglas de ejecución. cap_net_raw+ep no es una máscara hexadecimal y no se acepta como entrada.

¿Por qué capsh muestra indicadores distintos a los del proceso?

capsh --print describe el contexto donde se ejecuta capsh. Para otro proceso hay que consultar su estado o una herramienta que lo examine. Distingue también las capacidades de archivos de los conjuntos de hilos y verifica qué nombres conoce tu versión de libcap.

¿Te queda alguna duda?

Comprueba otra captura

Decodificar capacidades Linux conserva la etiqueta de origen. Revisa las capacidades reconocidas y los bits sin nombre antes de exportar el informe comprobado.

Decodificar un número no garantiza una configuración segura.