Voltar à lista
Linux x86_64Segurança#250

keyctl

Ponto de entrada multiplexado para dezenas de operações sobre chaves e keyrings do kernel.

Descrição

Como `ioctl`/`prctl`, é uma única syscall cujo comportamento é selecionado pelo primeiro argumento — permite ler, atualizar, vincular, revogar, invalidar e ajustar permissões de chaves e keyrings, entre muitas outras operações.

Header: keyutils.hman 2Desde o kernel 2.6.10

Assinatura

long keyctl(
    int operation,
    unsigned long arg2,
    unsigned long arg3,
    unsigned long arg4,
    unsigned long arg5
);

Parâmetros

ParâmetroTipoDescrição
operationintComando: KEYCTL_GET_KEYRING_ID, KEYCTL_READ, KEYCTL_REVOKE, KEYCTL_SETPERM, etc.
arg2unsigned longArgumento cujo significado depende de `operation`.
arg3unsigned longArgumento cujo significado depende de `operation`.
arg4unsigned longArgumento cujo significado depende de `operation`.
arg5unsigned longArgumento cujo significado depende de `operation`.

Registradores (x86_64)

RegistradorPapelArgumento
raxnúmero da syscall (chamada) / valor de retorno (após SYSCALL)
rdiargumento 1operationint
rsiargumento 2arg2unsigned long
rdxargumento 3arg3unsigned long
r10argumento 4arg4unsigned long
r8argumento 5arg5unsigned long

Valor de retorno

Depende de `operation`; em geral, um valor não negativo em sucesso e -1 em erro, com errno definido.

Códigos de erro (errno)

EACCES(13)
Permissão negada.
EINVAL(22)
Argumento inválido.
ENOKEY(126)
Chave (keyring) requerida não disponível.
EPERM(1)
Operação não permitida (falta de privilégio).

Relacionadas