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
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.