NOME¶
setgid - seleciona a identidade de grupo
SINOPSE¶
#include <unistd.h>
int setgid(gid_t gid)
DESCRIÇÃO¶
setgid seleciona a identidade de grupo efetiva do processo atual. Se o
solicitante é o superusuário, as ID´s real e guardada
também serão selecionadas.
No Linux,,
setgid é implementado como a versão POSIX com a
característica _POSIX_SAVED_IDS. Isto permite um programa setgid
(exceto root) para deixar todos os privilégios de grupo, para fazer
alguns trabalhos sem privilégios, e então reutilizar a ID de
grupo efetiva original de uma maneira segura.
Se o usuário é o superusuário ou o programa é setgid
de superusuário, cuidados especiais devem ser tomados. A
função
setgid verifica a gid efetiva do solicitante e se
ele é o superusuário, todos os processso relacionados
terão suas ID´s de grupo selecionadas para
gid.
Após isto ter ocorrido, é impossível para o programa
recuperar os previlégios de root.
Dessa forma, um programa setgid-root desejando temporariamente deixar
privilégios de root, assume a identidade de um grupo diferente de root,
e então recuperando previlégios de root mais tarde não
pode usar
setgid. Você pode executar esta com a chamada (BSD, e
não a POSIX)
setegid.
VALORES RETORNADOS¶
Em caso de sucesso, zero é retornado. Caso contrário, -1 é
retornado, e
errno é selecionado adequadamente.
ERRORS¶
- EPERM
- O usuário não é o superusuário, e gid
não combina a ID de grupo efetiva ou a guardada set-group-ID do
processo solicitante.
DE ACORDO COM¶
SVr4, SVID.
VEJA TAMBÉM¶
getgid(2),
setregid(2),
setegid(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)