Remover usuário do grupo raiz

4

De alguma forma eu consegui adicionar o usuário Tom ao grupo raiz no Ubuntu, a fim de evitar o uso do sudo everytime (má decisão). Agora quero removê-lo e não posso.

Eu tentei usar

usermod -G {groups} Tom 

Meu arquivo / etc / sudoers é o seguinte:

Defaults        env_reset

root    ALL=(ALL) ALL

%sudo ALL=(ALL) ALL

%admin ALL=(ALL) ALL

Especificando todos os grupos, exceto root e nenhuma alteração é feita. Qualquer ideia? Obrigado

    
por Joaquín L. Robles 20.02.2012 / 19:40

3 respostas

8

Edit: esta resposta foi muito editada desde a versão original. O original foi espalhado por algumas atualizações, então isso representa, esperançosamente, as coletadas em um resumo lógico)

versão curta : Olhando para a saída que você forneceu, não acho que você tenha colocado Tom no grupo raiz, acho que você alterou o grupo principal de usuários raiz para Tom.

Versão longa:

A saída que você forneceu era, na verdade, as informações do usuário e do grupo para o usuário raiz, em vez do usuário Tom, no entanto, é muito útil, pois expõe um problema para o sistema;

 # id
 uid=0(root) gid=1001(Tom)    
 grupos=0(root),1001(Tom),1002(subversion),117(nagios),1004(reweb)  

Esta saída indica que há um problema aqui que é que você alterou o grupo principal de usuários raiz para Tom , o que provavelmente não é o que você tinha em mente uid=0(root) gid=1001(Tom) ; < --- isso é ruim. e é provavelmente o que está causando problemas.

A conseqüência disso é que pode haver vários arquivos em torno de propriedade do grupo Tom, e eles apareceriam em lugares como / var / log

rw------- 1 root Tom 332203 Feb 24 21:17 messages

Isso ocorre porque o root cria muitos arquivos para serviços executados como root e criará novos arquivos com o grupo principal do usuário root , que agora é o Tom . Você pode corrigir o problema do grupo principal raiz com o seguinte comando:

# usermod -g root root

No entanto, esse problema de grupo principal pode ter tido alguns efeitos estranhos, como deixar arquivos em todos os lugares surpreendentes com o grupo Tom , porque todos os arquivos criados pelo root terão permissão do grupo Tom.

A correção de permissões em arquivos criados com o grupo Tom é bem fácil se você puder encontrá-los

Por causa do problema do grupo principal raiz mencionado acima, você deve corrigir essas permissões construindo um comando find / -group Tom type para ver onde esses arquivos existem.

# find / -group Tom
/var/somepath/somefile.txtx
/var/somepath/somefile.txtx2

e corrija esses arquivos com algo parecido;

chown :root /var/somepath/somefile.txtx2

se você não se preocupa com a redefinição dos arquivos do usuário Tom para o root quando eles estão fora do diretório / home / Tom, você pode simplesmente explodir todas as permissões do grupo desordenadas de volta à raiz assim;

find / \( -type d -regex "/home/Tom" -prune \) -o -group Tom -print -exec chown :root {} \;

mas eu procuraria esse comando antes de executá-lo, caso isso exploda seu sistema ...

Dado o que você disse, os seguintes comandos devem corrigir os padrões root e Tom em relação aos grupos primários;

certifique-se de que o root tenha raiz principal do grupo;

#usermod -g root root

certifique-se de que Tom tenha o grupo principal Tom

# usermod -g Tom Tom

certifique-se de que Tom não esteja no grupo raiz

# gpasswd -d Tom root
Removing user Tom from group root

certifique-se de que root não esteja no grupo Tom

# gpasswd -d root Tom
gpasswd: unknown member root

Se quisesse impedir que "Tom" obtivesse qualquer direitos de administrador, você poderia verificar se "Tom" não está nos grupos sudo ou admin;

  # gpasswd -d Tom sudo
  # gpasswd -d Tom admin
    
por 25.02.2012 / 00:44
5

Você deve preferir usar o comando vigr para editar /etc/group . Ele irá lançar seu editor em uma cópia do arquivo; quando o seu editor sair, ele fará uma verificação de sintaxe e somente substituirá /etc/group se o novo arquivo fizer check-out.

Há um comando vipw correspondente para editar /etc/passwd também.

    
por 21.02.2012 / 16:16
1

Tente removê-lo manualmente editando / etc / group

Há uma lista de usuários separados por vírgulas em cada grupo.

Não tenho certeza se isso segue as práticas recomendadas, mas funciona.

    
por 20.02.2012 / 21:27