Alterar gid de um grupo específico


34

Gostaria de alterar a identificação do grupo de um grupo específico. Portanto, existem soluções para alterar o gid de um arquivo ou diretórios. Mas não é isso que eu quero. Existe uma maneira de fazer isso?

Respostas:


42

O GID é o identificador principal do grupo. No que diz respeito ao sistema, um GID diferente é um grupo diferente. Então, para alterar o GID, você precisará modificar todos os lugares em que esse GID é usado.

Você deve evitar tratar o GID como significativo e usar nomes de grupos; você pode alterar o nome de um grupo com um único comando (no Linux:) groupmod -n NEW_GROUP_NAME OLD_GROUP_NAME.

No entanto, se você realmente deseja alterar o GID, é assim:

  • Primeiro, pode ser necessário desconectar usuários do grupo e interromper os processos que possuem esse grupo como seu grupo efetivo, real ou salvo.
  • Altere a entrada no banco de dados do grupo. No Linux, execute groupmod -g NEWGID GROUPNAME. Em outros sistemas, use a ferramenta de administração desse sistema, ou vigrse disponível, ou edite /etc/groupconforme aplicável.
  • Altere o grupo de todos os arquivos em seu sistema que pertencem ao grupo antigo.

    find / -gid OLDGID ! -type l -exec chgrp NEWGID {} \;
    
  • O chgrp limpa os sinalizadores suid e sgid, restaura-os.

  • Se você tiver algum arquivo que use o GID antigo, reconstrua-o.
  • Se você tiver algum arquivo ou script de configuração que faça referência ao GID antigo, atualize-o.
  • Reinicie todos os processos que devem usar o novo GID.

2
Sugira usando em chgrp -h ...vez de chgrp .... Sem -h, o destino de qualquer link simbólico relevante terá seu grupo alterado.
Mark Plotnick

3
groupmodtake é um nome como o principal argumento para mim ...groupmod -g NEWGID GROUPNAME
Matt

29

A maneira mais fácil é usar groupmod -g <NEW_GID> <groupname>

Outra maneira é editar /etc/groupdiretamente. O terceiro campo em cada coluna é o gid.

Se o grupo modificado é o principal grupo de um utilizador, /etc/passwdtêm de ser adaptados, também: usermod -g <NEW_GID> <username>.


Isso também afetará o gid dos arquivos também? Quero dizer, o gid do arquivo e o gid do grupo mudarão ao mesmo tempo?
Mibzer # 9/12

11
Não. Isso mudará apenas o ID do grupo. Arquivos / Diretórios mantém seu (agora sem nome) gid e precisam ser alterados separadamente.
Jofel

Ok obrigado. Portanto, se eu gostaria de alterar o gid (files) para new gid, tenho que executar outro comando. Isso esta certo ? Seria melhor se houvesse maneira de alterar o gid do arquivo froup e o gid dos arquivos relacionados ao mesmo tempo.
Mibzer # 9/12

Eu adicionei o outro comando à minha resposta. Não é um problema se for usado um gid temporário que não esteja no / etc / group. Todo usuário do grupo precisa fazer login novamente para obter o novo gid.
Jofel

0

find / path -group foo -print0 | xargs -0 chgrp bar


como eu disse isso vai mudar o gid dos arquivos. Mas não é isso que eu quero dizer. Quero alterar o gid de um grupo e não um arquivo.
Mibzer # 9/12

ok, eu estava confuso, então 'vi / etc / group' :) #
314 jirib
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.