Manpages

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)