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
- Como usuáriosah, você pode exibir seu grupo atual de associação e grupo de processos configurado, inserindo:
A saída semelhante à seguinte aparece:setgroupssah: user groups = staff,payroll process groups = staff,payroll - Para adicionar ofinancegrupo para o grupo de processos da sessão atual, digite:setgroups -a finance
- Para configurar seu grupo real parafinance, digite:
Este conjuntosfinancecomo o grupo real. Os comandosstaffepayrollgrupos compõem a lista de grupos complementares.setgroups finance,staff,payroll - Para excluir opayrollgrupo a partir do conjunto de grupos de processos atuais, digite:setgroups -d payroll
- 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. |