Linux & Shell

Decodificar capacidades Linuxentenda os bits

Cole uma máscara hexadecimal ou uma linha Cap de /proc. Veja as capacidades ativas ou prepare outra combinação pelas caixas de seleção.

Decodificar capacidades Linux

Montar máscara pelos nomes

Decodifique um valor válido primeiro. Cada caixa abre a prévia de um bit alterado; bits sem nome são preservados.

Capacidades decodificadas

O valor colado é processado neste navegador, sem ler o sistema nem enviar a entrada a um servidor.

Interpretação e exportação

Tabelas UAPI fixas; não detectam seu kernel nem simulam suas verificações de permissão.

O resultado está desatualizado. Decodifique antes de mudar bits ou exportar.

Decodificar capacidades Linux ajuda a ler o mapa de bits que aparece no status de um processo. Mantenha o nome CapEff ou CapBnd ao lado do valor: números iguais podem fazer parte de conjuntos com papéis diferentes.

O exemplo tem 14 capacidades com nome. Ele demonstra o formato, sem representar o estado do seu computador ou um padrão universal de contêineres. Antes de interpretar o resultado, confira a origem do campo e a tabela selecionada.

Decodificar capacidades Linux preservando o valor

A tabela explica os nomes; os bits originais continuam intactos.

Ligue cada bit à sua função

Decodificar capacidades Linux mostra o nome CAP_* e uma descrição curta para cada posição conhecida. Ao marcar uma caixa, a prévia informa qual bit será alterado e compara as duas máscaras. O texto original só muda depois de aplicar.

Uma máscara ligada a cartões de capacidades, com as posições ativas destacadas

Não perca bits de versões mais novas

Uma posição sem nome na tabela 3.16 pode ser reconhecida pela 5.9. Trocar a tabela mantém o número inteiro, inclusive as posições altas até o bit 63. Um nome desconhecido não é motivo para apagar parte do conjunto.

O mesmo padrão em duas tabelas, com um bit antes sem nome passando a ser reconhecido

Confira o campo antes de editar a combinação

01

Trabalhe com um conjunto por vez

Aceita um valor isolado ou CapEff: 0000000000000003. Mesmo sem letras, a entrada é hexadecimal: 10 corresponde a 16 decimal. Cole os outros conjuntos em operações separadas para não confundir suas funções.

02

Escolha a tabela com contexto

As tabelas 3.16, 5.8 e 5.9 terminam nos bits 37, 39 e 40. São registros fixos da UAPI, não uma detecção do kernel. Backports e regras da distribuição precisam ser conferidos no ambiente de origem.

03

Aplique somente após revisar

As caixas ficam disponíveis apenas com resultado válido e atual. Aplicar atualiza a entrada e o relatório juntos; Desfazer restaura o texto anterior, incluindo o campo. No modo manual, Ctrl/Cmd + Enter também executa a leitura.

Números exatos e capacidades identificáveis

Os 64 bits sem arredondamento

A máscara é calculada como inteiro sem sinal, com saída de 16 dígitos hexadecimais minúsculos e 64 dígitos binários. Máscara e decimal viram strings no JSON para que valores grandes não percam precisão ao serem transferidos.

Número e resumo de cada capacidade

As entradas reconhecidas mostram a posição e o uso resumido. CAP_NET_BROADCAST é indicada como sem uso. Posições que a tabela não conhece aparecem em uma lista separada, sem nomes inventados ou notas automáticas de segurança.

Relatórios com a origem preservada

Texto e JSON mantêm a versão da tabela, o nome do campo e todos os bits ativos. CapEff identifica capacidades efetivas, o que ajuda ao comparar a captura com capsh. O relatório de texto não é uma expressão pronta para setcap.

Limites de entrada e de interpretação

Apenas hexadecimal sem sinal
São aceitos de 1 a 16 dígitos ASCII, com prefixo 0x ou 0X opcional e espaços nas extremidades. A entrada total tem limite de 256 unidades UTF-16. Sinais, separadores e valores longos são rejeitados sem adivinhar a base ou cortar bits.
Um campo por leitura
CapInh, CapPrm, CapEff, CapBnd e CapAmb são aceitos com dois-pontos. O status completo, várias linhas com conteúdo, listas de nomes e expressões +ep não são aceitos. Não há importação por PID, arquivo ou URL.
Não reproduz a política do sistema
O resultado não simula execve, namespaces, securebits, seccomp ou LSM. Uma máscara isolada não revela o menor conjunto de privilégios necessário nem prova que um contêiner é privilegiado ou seguro. As descrições são resumos das funções.
Bits sem nome são conservados
Somente posições conhecidas têm seleção editável. As demais permanecem no valor e nos relatórios, mesmo em tabelas antigas. Não há seleção de tudo, exclusão de bits desconhecidos nem geração de comandos para conceder privilégios.
Exportação só do resultado atual
Mudar a entrada ou a tabela bloqueia imediatamente copiar e baixar. O modo automático espera 350 ms; desligá-lo cancela a execução pendente. Exemplo, limpar e alterar bit passam por prévia e aplicação, com uma ação para desfazer.

Decodificar capacidades Linux: dúvidas

Como consultar as capacidades de um processo?

No host Linux de origem, leia os campos Cap em /proc/PID/status ou use getpcaps, se disponível. Cole uma linha aqui para interpretar os bits. capsh --decode é uma alternativa local para ler a máscara; o navegador não consulta o processo.

Como descobrir quais capacidades um programa precisa?

As capacidades que ele possui não são necessariamente o conjunto mínimo exigido. Consulte a documentação e as operações do programa e observe cargas representativas em ambiente controlado. Esta página não rastreia chamadas nem recomenda concessões mínimas.

Por que as capacidades permitidas nem sempre são efetivas?

O conjunto permitido limita quais capacidades a thread pode colocar no conjunto efetivo. Este último é usado nas verificações de capacidades. Assim, uma thread pode manter uma capacidade permitida sem ativá-la naquele momento.

O que significa ep em uma expressão de capacidades?

Na notação libcap, p está ligado ao conjunto permitido e e ao estado efetivo. Capacidades de arquivos têm uma flag efetiva usada nas regras de execução. cap_net_raw+ep não é uma máscara hexadecimal e deve ser analisada em outro contexto.

Por que o capsh mostra flags diferentes das do processo?

capsh --print informa o contexto em que o próprio capsh está rodando. Para outro processo, consulte o status correspondente ou uma ferramenta apropriada. Diferencie capacidades de arquivo de conjuntos da thread e confira se a libcap instalada conhece os nomes novos.

Ficou alguma dúvida?

Confira a próxima máscara

Decodificar capacidades Linux mantém o campo original. Compare os nomes conhecidos com as posições desconhecidas e exporte o relatório depois da revisão.

Interpretar o número não garante uma configuração segura.