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@blv.com.br> (tradução)
xxxxxxxxxxxxxxxxxxxxxxxxx <xxx@xxxxxx.xxx.xx> (revisão)