Scroll to navigation

SETGID(2) Manual do Programador Linux SETGID(2)

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)
29/07/1994 Linux 1.1.36