web-dev-qa-db-fra.com

UserAdd utilisateur avec groupe avec le même UID et gid

Je souhaite ajouter un utilisateur nommé "Nexus" avec UID sous le nom de 1234567 (exemple Numéro) et GID 1234567.

Je cours la commande suivante:

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

Mais j'ai l'erreur:

useradd: group '1234567' does not exist

Et si je fais:

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

Puis quand je vérifie id -u nexus Il montre le correct uid (1234567) mais quand je vérifie id -g nexus le gid est défini sur 999.

Si je fais Sudo adduser --uid 1234567 nexus Ensuite, les identifiants utilisateur et groupe sont définis de la même manière.

Puis-je faire la même chose avec useradd ou dois-je utiliser adduser pour atteindre mon objectif?

Je suis en train de suivre ce tutoriel BTW:

http://www.tecmint.com/add-user-in-linux/

P.s.: Si je dois utiliser adduser alors puis-je le faire sans interaction humaine; I.e.: Automatiser la création de l'utilisateur via un script?

ÉDITER:

C'est l'issue 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
4
Fadi

Franchement, je pense que c'est un bogue (fonctionnalité). La documentation indique que vous pouvez utiliser l'option '-u' pour créer simultanément l'utilisateur et le groupe en même temps. Intuitivement, vous penseriez que dans un tel cas, cela prendrait la valeur du drapeau "-g" et créerait le groupe en conséquence.

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

L'exemple ci-dessus est similaire à votre commande userAdd. Cependant, si je supprimais simplement l'argument '-g 200', cela fonctionne immédiatement. Bien que malheureusement, il semble que la GID soit allouée à la méthode standard.

[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:

La réponse à votre question est que si vous souhaitez ajouter un utilisateur et un groupe en même temps, vous devez supprimer l'option -g -g. Ce n'est pas aussi élégant que vous et j'espérais, mais c'est mieux que rien.

J'espère que cela pourra aider. Prends soin de toi.

1
Peter Rhodes