Voltar à lista
Linux x86_64Usuários & permissões#113

setreuid

Define independentemente o UID real e o UID efetivo do processo.

Descrição

Mais flexível que `setuid`; permite alternar entre privilégios elevados e reduzidos preservando a capacidade de retornar, conforme as regras do saved-set-UID.

Header: unistd.hman 2

Assinatura

int setreuid(uid_t ruid, uid_t euid);

Parâmetros

ParâmetroTipoDescrição
ruiduid_tNovo UID real, ou -1 para não alterar.
euiduid_tNovo UID efetivo, ou -1 para não alterar.

Registradores (x86_64)

RegistradorPapelArgumento
raxnúmero da syscall (chamada) / valor de retorno (após SYSCALL)
rdiargumento 1ruiduid_t
rsiargumento 2euiduid_t

Valor de retorno

0 em sucesso; -1 em erro, com errno definido.

Códigos de erro (errno)

EAGAIN(11)
Recurso temporariamente indisponível (tente novamente); também conhecido como EWOULDBLOCK.
EPERM(1)
Operação não permitida (falta de privilégio).

Relacionadas