Linux x86_64Usuários & permissões#93
fchown
Altera o dono e/ou grupo de um arquivo já aberto, referenciado por descritor.
Descrição
Evita condição de corrida TOCTOU, como `fchmod`.
Header:
unistd.hman 2Assinatura
int fchown(int fd, uid_t owner, gid_t group);Parâmetros
| Parâmetro | Tipo | Descrição |
|---|---|---|
| fd | int | Descritor do arquivo. |
| owner | uid_t | Novo UID dono, ou -1 para não alterar. |
| group | gid_t | Novo GID grupo, ou -1 para não alterar. |
Registradores (x86_64)
| Registrador | Papel | Argumento |
|---|---|---|
| rax | número da syscall (chamada) / valor de retorno (após SYSCALL) | — |
| rdi | argumento 1 | fdint |
| rsi | argumento 2 | owneruid_t |
| rdx | argumento 3 | groupgid_t |
Valor de retorno
0 em sucesso; -1 em erro, com errno definido.
Códigos de erro (errno)
- EBADF(9)
- Descritor de arquivo inválido.
- EPERM(1)
- Operação não permitida (falta de privilégio).
- EROFS(30)
- Sistema de arquivos somente leitura.