comando de setgroups

Propósito

Redefine um conjunto de grupos de processos da sessão.

Sintaxe

setgroups [ - ] [ -a GroupSet ] [ -d GroupSet ] [ -r [ Group ]] [ GroupSet ]

Descrição

O comando setgroups , por padrão, exibe o conjunto de grupos e o grupo de processos atuais do usuário configurado para o shell atual. Um conjunto de grupos de usuários é definido nos arquivos de banco de dados do usuário. Quando determinado um sinalizador e um parâmetro GroupSet , esse comando reconfigura o conjunto de grupos de processos conforme listado pelo parâmetro GroupSet . O parâmetro GroupSet é uma lista separada por vírgula de nomes de grupos. Os grupos disponíveis são definidos nos arquivos de banco de dados do usuário.

Você também pode usar o comando setgroups para adicionar ou excluir grupos do conjunto de grupos atuais. Usando a sinalização -r , é possível zerar o ID do grupo real. Se você especificar o parâmetro Groupset mas sem sinalizadores, o comando setgroups reconfigura todos os grupos e faz o primeiro grupo na lista o grupo real. O comando setgroups não altera as características de segurança do terminal de controle.

Quando você executa o comando setgroups , o sistema sempre substitui sua casca por uma nova. O comando substitui seu shell independentemente de o comando ser bem-sucedido ou não. Por esta razão, o comando não retorna códigos de erro.

O comando setgroups -r é idêntico ao comando newgrp.

Sinalizações

Item Descrição
-a GroupSet Inclui os grupos especificados pelo parâmetro GroupSet para a sessão atual O número de grupos no novo conjunto não deve exceder os grupos NGROUPS_MAX , um valor definido no arquivo limits.h . O ID do grupo real não é alterado.
-d GroupSet Remove os grupos especificados pelo parâmetro GroupSet da sessão atual. Se o grupo real for removido, o próximo grupo listado no conjunto atual torna-se o grupo real.
-r Grupo Redefine o grupo real para o processo atual. Se você não especificar um parâmetro Group e o grupo real atual não for o grupo primário, a bandeira -r remove o grupo real atual e reconfigura o grupo real para o grupo primário original. Se você especificar um parâmetro Group , este se comporta identicamente para o comando newgrp .
- Re-inicializa o conjunto de grupos da sessão para seu estado de login original.

Segurança

Controle de Acesso: Este comando deve ser um programa de usuário geral. Este comando deve ser instalado como um programa na base de computação confiável (TCB). O comando deve ser de propriedade do usuário root com o conjunto de bits setuid (SUID).

Arquivos acessados:

Modo Arquivos
t /etc/passwd
t /etc/group

Eventos de auditoria:

Item Descrição
Evento Informações
Item Descrição
USER_SetGroups realgroup, groupset

Exemplos

  1. Como usuáriosah, você pode exibir seu grupo atual de associação e grupo de processos configurado, inserindo:
    setgroups
    A saída semelhante à seguinte aparece:
    sah:
    
       user groups = staff,payroll
       process groups = staff,payroll
  2. Para adicionar ofinancegrupo para o grupo de processos da sessão atual, digite:
    setgroups  -a  finance
  3. Para configurar seu grupo real parafinance, digite:
    setgroups finance,staff,payroll
    Este conjuntosfinancecomo o grupo real. Os comandosstaffepayrollgrupos compõem a lista de grupos complementares.
  4. Para excluir opayrollgrupo a partir do conjunto de grupos de processos atuais, digite:
    setgroups  -d  payroll
  5. Para alterar o grupo de processos configurado de volta para o seu conjunto padrão, digite:
    setgroups   -
    Isso redefine sua sessão atual para o seu estado original logo após você fazer login.

Arquivos

Item Descrição
/usr/bin/setgroups Contém o comando setgroups .
/etc/group Contém atributos básicos do grupo.
/etc/passwd Contém atributos básicos do usuário.