useradd Benutzer mit Gruppe mit der gleichen UID und GID

11424
Fadi

Ich möchte einen Benutzer namens "Nexus" mit UID als 1234567 (Beispielnummer) und GID 1234567 hinzufügen.

Ich führe den folgenden Befehl aus:

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

Aber ich bekomme den Fehler:

useradd: group '1234567' does not exist 

Und wenn ich das tue:

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

Dann, wenn ich überprüfen, id -u nexuszeigt es die richtige uid(1234567), aber wenn ich überprüfen, id -g nexusdie gidfestgelegt ist 999.

Wenn ich das tue, werden sudo adduser --uid 1234567 nexusdie Benutzer- und Gruppen-IDs gleich gesetzt.

Kann ich dasselbe useraddtun oder muss ich es verwenden adduser, um mein Ziel zu erreichen?

Ich habe dieses Tutorial übrigens befolgt:

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

PS: Wenn ich es benutzen muss, adduserkann ich es ohne menschliche Interaktion tun; dh: Benutzererstellung per Skript automatisieren?

BEARBEITEN:

Dies ist das Ergebnis von 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 
3
Ich denke, Sie müssen zuerst einen `groupadd` ausführen, wenn Sie einen Benutzer mit SPECIFIC uid AND gid erstellen möchten. Tom Yan vor 8 Jahren 0
Ich dachte, das `` -U``` würde das für mich tun ..: S Fadi vor 8 Jahren 0

2 Antworten auf die Frage

1
Fadi

Thanks to Tom Yan, I've ended up solving my issue by creating a group with the same name then added the user to that group. So I did the following:

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 
1
Peter Rhodes

Ehrlich gesagt, ich denke, es ist ein Fehler (Feature). In der Dokumentation wird angegeben, dass Sie die Option '-U' verwenden können, um gleichzeitig Benutzer und Gruppe zu erstellen. Sie würden intuitiv denken, dass in einem solchen Fall der Wert vom Flag '-g' genommen und die Gruppe entsprechend erstellt wird.

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

Das obige Beispiel ähnelt Ihrem useradd-Befehl. Wenn ich jedoch das Argument '-g 200' einfach entferne, funktioniert es sofort. Leider scheint es, dass die GID mit der Standardmethode zugewiesen wird.

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

Die Antwort auf Ihre Frage lautet, wenn Sie gleichzeitig Benutzer und Gruppen hinzufügen möchten, müssen Sie die Option -g entfernen. Es ist nicht so elegant wie Sie und ich hofften, aber es ist besser als nichts.

Hoffentlich hilft das. Sich kümmern.