Como posso alterar o grupo padrão de um usuário no Linux?

38

Sendo novo na administração do Linux, estou um pouco confuso com os seguintes comandos:

useradd
usermod
groupadd
groupmod

Acabei de ler o manual de administração de usuários no manual do Linux / Unix Administrator, mas algumas coisas ainda estão um pouco nebulosas.

Basicamente, useradd parece ser suficiente:

useradd -c "David Hilbert" -d /home/math/hilbert -g faculty -G famous -m -s /bin/sh hilbert

Eu posso adicionar "David Hilbert" com o nome de usuário hilbert , definindo seu diretório, shell e grupos padrão. E eu acho que -g é seu grupo principal / padrão e -G são seus outros grupos.

Estas são minhas próximas perguntas:

  1. Este comando ainda funcionaria se os grupos faculty e famous não existissem? Seria apenas criá-los?
  2. Se não, qual comando eu uso para criar novos grupos?
  3. Se eu remover o usuário hilbert e não houver outros usuários nesses grupos, eles ainda existirão? Devo removê-los?
  4. Depois de executar o comando useradd acima, como removo David do grupo famous e reatribuo seu grupo principal a hilbert , que ainda não existe?
por cwd 13.12.2011 / 02:24

5 respostas

24

O comando usermod permitirá alterar o grupo principal de um usuário, o grupo suplementar ou vários outros atributos. A opção -g controla o grupo principal.

Para suas outras perguntas ...

  1. Se você especificar um grupo, groupname , que não existe durante o estágio useradd , você receberá um erro - useradd: grupo desconhecido groupname

  2. O comando groupadd cria novos grupos.

  3. O grupo permanecerá se você remover todos os usuários contidos nele. Você não precisa necessariamente remover o grupo vazio.

  4. Crie o grupo hilbert via groupadd hilbert . Em seguida, mova o grupo principal de David usando usermod -g hilbert hilbert . (Observe que o primeiro hilbert é o nome do grupo e o segundo hilbert é o nome de usuário. Isso é importante nos casos em que você está movendo um usuário para um grupo com um nome diferente)

Você pode estar complicando um pouco as coisas aqui, no entanto. Em muitas distribuições do Linux, um simples useradd hilbert criará o usuário hilbert e um grupo com o mesmo nome que o primário. Eu adicionaria grupos suplementares especificados juntos usando a opção -G .

    
por 13.12.2011 / 03:10
8

Você precisa ler o man usermod , o que explica o que acontece com as várias opções:

usermod -g hilder hilder

irá substituir o seu grupo de login de 'faculty' para 'hilder', contanto que o grupo 'hilder' exista. Se não existir, primeiro você precisa criá-lo com groupadd.

Quando você usa a opção -G , você também deve usar a opção -a para acrescentar novos grupos à lista atual de grupos suplementares a que o usuário 'hilder' pertence. Sem a opção -a , você substituirá grupos suplementares atuais por um novo conjunto de grupos. Portanto, use isso com cautela.

    
por 12.04.2013 / 11:42
3

Para alterar o grupo principal de um usuário no Linux:

  • usermod -g new_group user_name
  • encerrar todas as sessões ativas user_name

Para testar suas alterações, execute id e observe o valor de gid=

Se o comando for executado sem erros, mas o gid não mudar, você perdeu a parte em negrito do passo 2.

    
por 20.02.2017 / 14:01
1

A resposta # 1 é boa, mas você também pode optar por emitir o seguinte para adicionar um novo grupo:

# nano /etc/group

A desvantagem de editar /etc/group diretamente é que você terá que criar um GID (número de ID de grupo) não utilizado.

A seguir, você poderá alterar o grupo principal de um usuário. # nano /etc/passwd

Você localiza a linha do usuário e altera o GID (número do grupo, procure em /etc/group ), tenha em mente que a sintaxe é a seguinte:

 <name>:*:<UID>:<GID>:<comment>:<directory>:<shell>

Não há desvantagens que eu possa pensar nesta abordagem (desde que você conheça o GID), é o que eu uso com frequência para usuários locais, principalmente porque eu uso muitos sistemas UNIX diferentes com diferentes usermod , adduser , e useradd opções de comando.

É um pouco mais manual, no entanto faz o trabalho. Note que você pode usar vi iso nano para editar os arquivos, se você souber vi .

    
por 20.02.2017 / 14:46
0

Para alterar permanentemente o grupo principal do usuário, execute o seguinte:

  • usermod -g nome do grupo nome de usuário

Ou você pode usar newgrp para ambiente pequeno e situação temporária.

Crie um novo usuário bob e um novo grupo dodo .

useradd bob

Então em RedHat / Centos temos UID = (ID_number) bob; GID = (ID_number) bob como grupo primário por padrão

groupadd dodo

Adicione o usuário bob ao grupo dodo :

usermod -aG dodo bob -make sure to use "a"

Próximo uso newgrp para alterar a propriedade:

newgrp dodo

Tenha cuidado com sua conta para ter uma senha e ser membro do futuro grupo principal. E o newgrp abre um novo shell; contanto que o usuário permaneça nesse shell, o grupo primário não será alterado. Para alternar o grupo primário de volta para o original, você pode deixar o novo shell executando o comando exit.

    
por 27.07.2017 / 10:15