NOME
getgroups, setgroups − obtém/seleciona a lista sumplementar das IDs grupo
SINOPSE
#include
<sys/types.h>
#include <unistd.h>
int getgroups(int size, gid_t list[]);
#define
_BSD_SOURCE
#include <grp.h>
int setgroups(size_t size, const gid_t *list);
DESCRIÇÂO
getgroups
Até size grupos sumplementares são retornados na list. Se size é zero, list não é modificado, mas o número total de grupos sumplementares para o processo é retornado.
setgroups
Seleciona os grupos suplementares para o processo. Somente o superusuário pode usar esta função.
VALORES RETORNADOS
getgroups
Em caso de sucesso, o número de IDs de grupos suplementares é retornado. Caso contrário, −1 é retornado, e errno selecionado apropriadamente.
setgroups
Em caso de sucesso, zero é retornado. Caso contrário, −1 é retornado, e errno selecionado apropriadamente.
ERROS
EFAULT |
list tem um endereço inválido. | ||
EPERM |
Para setgroups, o usuário não é o superusuário. | ||
EINVAL |
Para setgroups, size é maior que NGROUPS (32 para o Linux 2.0.32). Para getgroups, size é menor que o número de IDs de grupos suplementares, mas não é zero. |
DE ACORDO COM
SVr4, SVID (lançado somente na 4; estas chamadas não estavam presentes na SVr3), X/OPEN, 4.3BSD. A função getgroups está em POSIX.1. Desde setgroups requerer privilégios, ele não é coberto pela POSIX.1.
PROBLEMAS
O sinalizador _BSD_SOURCE provavelmente não deveria ser retornado por setgroups.
VEJA TAMBÉM
initgroups(3), getgid(2), setgid(2)
TRADUZIDO POR LDP-BR em 21/08/2000.
André L. Fassone Canova <lonelywolf [AT] blv.br> (tradução) xxxxxxxxxxxxxxxxxxxxxxxxx <xxx [AT] xxxxxx.xx> (revisão)