useradd user com grupo com o mesmo uid e gid

2

Eu quero adicionar um usuário chamado "nexus" com uid como 1234567 (exemplo number) e gid 1234567.

Estou executando o seguinte comando:

sudo useradd -r -U -u 1234567 -g 1234567 -m -c "nexus role account" -d /sonatype-work -s /bin/false nexus

Mas recebo o erro:

useradd: group '1234567' does not exist

E se eu fizer isso:

sudo useradd -r -U -u 1234567 -m -c "nexus role account" -d /sonatype-work -s /bin/false nexus

Então, quando eu verificar id -u nexus , ele mostra o uid (1234567) correto, mas quando eu verifico id -g nexus , o gid está definido como 999 .

Se eu fizer sudo adduser --uid 1234567 nexus , os IDs de usuário e grupo serão os mesmos.

Posso fazer o mesmo com useradd ou preciso usar adduser para atingir minha meta?

Eu tenho acompanhado este tutorial btw:

link

P.S .: Se eu tiver que usar adduser , posso fazê-lo sem nenhuma interação humana; ou seja, automatizar a criação do usuário por meio de script?

EDITAR:

Este é o resultado de sudo adduser --uid 1234567 nexus

Adding user 'nexus' ...
Adding new group 'nexus' (1234567) ...
Adding new user 'nexus' (1234567) with group 'nexus' ...
The home directory '/home/nexus' already exists.  Not copying from '/etc/skel'.
adduser: Warning: The home directory '/home/nexus' does not belong to the user you are currently creating.
Enter new UNIX password: 
Retype new UNIX password: 
No password supplied
Enter new UNIX password: 
Retype new UNIX password: 
No password supplied
Enter new UNIX password: 
Retype new UNIX password: 
No password supplied
passwd: Authentication token manipulation error
passwd: password unchanged
Try again? [y/N] n
Changing the user information for nexus
Enter the new value, or press ENTER for the default
    Full Name []: Nexus
    Room Number []: 
    Work Phone []: 
    Home Phone []: 
    Other []: 
Is the information correct? [Y/n] y
    
por Fadi 10.02.2016 / 21:45

2 respostas

0

Graças a Tom Yan, acabei resolvendo meu problema criando um grupo com o mesmo nome e adicionei o usuário a esse grupo. Então fiz o seguinte:

sudo groupadd -r -g 1234567 nexus \
  && sudo useradd -r -u 1234567 -g 1234567 -m -c "nexus role account" -d /sonatype-work -s /bin/false nexus
    
por 11.02.2016 / 15:44
1

Francamente, Eu acho que é um bug (recurso). A documentação indica que você pode usar a opção '-U' para criar simultaneamente o usuário e o grupo ao mesmo tempo. Intuitivamente, você pensaria que, nesse caso, levaria o valor do sinalizador '-g' e criaria o grupo de acordo.

[root@centos4]# useradd -U -u 200 -g 200 -m -d /home/ansible -s /usr/bin/bash ansible
useradd: group '200' does not exist

O exemplo acima é semelhante ao seu comando useradd. No entanto, se eu simplesmente remover o argumento '-g 200', ele funcionará imediatamente. Embora infelizmente pareça que o gid é alocado com o método padrão.

[root@centos4]# useradd -U -u 200 -m -d /home/ansible -s /usr/bin/bash ansible
[root@centos4]# egrep ansible /etc/passwd
ansible:x:200:1000::/home/ansible:/usr/bin/bash
[root@centos4]# egrep ansible /etc/group
ansible:x:1000:

A resposta para sua pergunta é que, se você quiser adicionar usuário e grupo ao mesmo tempo, terá que remover a opção -g. Não é tão elegante quanto você e eu esperávamos, mas é melhor que nada.

Espero que ajude. Tome cuidado.

    
por 11.10.2017 / 00:19