Como adiciono usuários a outro grupo de usuários?


9

Eu tenho um usuário john e um usuário keith no servidor Ubuntu

Eu adicionei esses usuários usando

sudo adduser John 
sudo adduser Keith

Como posso adicionar agora john ao grupo de Keith?

Eu tentei:

sudo usermod -aG Keith john

Mas eu entendo:

usermod: group 'Keith' does not exist

O que preciso fazer para resolver esse problema?

Respostas:


17

Você pode usar: usermod -a -G grouptoadd username

Como é muito menos óbvio do que eu pensava por que -a -G está ok, enquanto -aG não está, tentarei explicar:

As opções -G usam um valor ou uma lista de valores. No caso de um valor, o valor pode ser dado como: -GVALUE, pois não há requisito para ter um espaço entre a opção e o valor. Esta é apenas uma prática comum.

Se você tiver um grupo chamado a em seu sistema, a chamada -Ga se tornará ambígua. Deseja que o usuário tenha apenas um grupo a? Você está chamando -a e -G? Então "a" é um valor para -G? Onde está o restante do valor (para -G)? Também é prática comum que qualquer opção de letra única possa antes de qualquer outra opção de letra única. então tat -xy == -yz. Mas isso é ambíguo quando uma das opções pode ter um único valor como VALUE ou muitos valores como VAL1, Val2, val4, etc.

Portanto, para tornar o comando FAILSAFE e funcionar corretamente para todas as entradas, você deve separar -a de -G

De man usermod:

Nome

usermod - modifica uma conta de usuário

Sinopse

usermod [opções] LOGIN

Descrição

O comando usermod modifica os arquivos da conta do sistema para refletir as alterações especificadas na linha de comandos.

Opções

As opções que se aplicam ao comando usermod são:

  • -a, --append

    Adicione o usuário ao (s) grupo (s) suplementar (es). Use apenas com a opção -G .

  • ...

  • -G, --grupos GRUPO1 [, GRUPO2, ... [, GRUPO]]]]

    Uma lista de grupos suplementares dos quais o usuário também é membro. Cada grupo é separado do próximo por uma vírgula, sem espaços em branco. Os grupos estão sujeitos às mesmas restrições que o grupo fornecido com a opção -g .

    Se o usuário é atualmente um membro de um grupo que não está listado, o usuário será removido do grupo. Esse comportamento pode ser alterado através da opção -a , que anexa o usuário à lista de grupos suplementares atual.

  • ...


Pode ajudar a explicar por que a divisão das opções funcionaria e quais são elas.
— Journeyman Geek

@JourneymanGeek: Feito! Executa ...
— Tamara Wijsman

superusuários deve saber como homem, imho ...
— Ярослав Рахматуллин

@ ЯрославРахматуллин, superusers deveriam de fato. No entanto, a maioria das perguntas é feita por "não usuários" e respondidas por "usuários". Alguém que é novo no linux não tem motivos para conhecer o comando man. De qualquer forma, o comando que você deu é o mesmo que o executado pelo OP, sua resposta não explica por que não funcionou para ela. Pelo menos no meu sistema, dividir as opções não faz diferença.
— terdon

Bem, antes de tudo, você não pode executar o nome do sudo adduser sudo adduser name2 porque essa é uma sintaxe inválida para o useradd . useradd usa um argumento de nome de usuário. Para adicionar dois usuários, você deve executar o comando duas vezes. IE useradd arne; useradd kari. Em seguida, você pode adicionar kari ao grupo arnes e vice-versa. Vou ter mais paciência depois de assistir mais algumas dessas perguntas e responder adequadamente. promessa!
— Ярослав Рахматуллин

0

Se você executou os comandos exatamente como mostrou na sua pergunta, não criou o usuário Keith, mas apenas o usuário John. Para executar comandos um após o outro na linha de comando, você precisa separá-los usando ;ou &&. Caso contrário, apenas o primeiro comando será executado:

sudo adduser John sudo adduser Keith
adduser: Only one or two names allowed.

Se você os executou corretamente, tenha cuidado com letras maiúsculas. Na sua pergunta, você menciona "John" e "john". Isso deve funcionar:

sudo adduser keith
sudo adduser john
sudo usermod -aG keith john

0

Você também pode editar os arquivos de configuração manualmente:

sudo nano /etc/password
sudo nano /etc/group

Atribua o ID e outros campos.

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.