Linux x86_64Usuários & permissões#116
setgroups
Define a lista de grupos suplementares do processo chamador.
Descrição
Exige CAP_SETGID. Usado, por exemplo, por daemons privilegiados ao trocar de identidade para descartar grupos suplementares indesejados.
Header:
grp.hman 2Assinatura
int setgroups(size_t size, const gid_t * list);Parâmetros
| Parâmetro | Tipo | Descrição |
|---|---|---|
| size | size_t | Número de elementos em `list`. |
| list | const gid_t * | Nova lista de GIDs suplementares. |
Registradores (x86_64)
| Registrador | Papel | Argumento |
|---|---|---|
| rax | número da syscall (chamada) / valor de retorno (após SYSCALL) | — |
| rdi | argumento 1 | sizesize_t |
| rsi | argumento 2 | listconst gid_t * |
Valor de retorno
0 em sucesso; -1 em erro, com errno definido.
Códigos de erro (errno)
- EFAULT(14)
- Endereço de memória inválido (ponteiro fora do espaço de endereçamento válido).
- EINVAL(22)
- Argumento inválido.
- ENOMEM(12)
- Memória insuficiente para completar a operação.
- EPERM(1)
- Operação não permitida (falta de privilégio).