Provided by: manpages-pt-dev_20040726-5_all bug

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)

Linux 1.1.36                                       29/07/1994                                          SETGID(2)