Sie können verwenden: usermod -a -G grouptoadd username
Da es weit weniger offensichtlich ist als ich dachte, warum -a -G in Ordnung ist, während -aG nicht in Ordnung ist, werde ich versuchen, es zu erklären:
Die Option -G nimmt entweder einen Wert oder eine Liste von Werten an. Bei einem Wert kann der Wert wie folgt angegeben werden: -GVALUE, da zwischen der Option und dem Wert kein Leerzeichen erforderlich ist. Dies ist nur gängige Praxis.
Wenn Sie eine Gruppe mit dem Namen a auf Ihrem System haben, wird der Aufruf von -Ga mehrdeutig. Möchten Sie, dass der Benutzer nur eine Gruppe a hat? Rufen Sie -a und -G an? Ist "a" dann ein Wert für -G? Wo ist der Rest des Wertes (bis -G)? Es ist auch üblich, dass jede Einzelbuchstabenoption vor jeder anderen Einzelbuchstabenoption stehen kann. also tat -xy == -yz. Dies ist jedoch nicht eindeutig, wenn eine der Optionen entweder einen einzelnen Wert wie VALUE oder viele Werte wie VAL1, Val2, val4 usw. Annehmen kann.
Um den Befehl FAILSAFE auszuführen und für alle Eingaben ordnungsgemäß zu funktionieren, müssen Sie -a von -G trennen
Von man usermod
:
Name
usermod - Ändern Sie ein Benutzerkonto
Zusammenfassung
usermod [Optionen] LOGIN
Beschreibung
Der Befehl usermod ändert die Systemkontodateien so, dass sie die in der Befehlszeile angegebenen Änderungen widerspiegeln.
Optionen
Folgende Optionen gelten für den Befehl usermod :
-a, --anhängen
Fügen Sie den Benutzer zu den zusätzlichen Gruppen hinzu . Nur mit der Option -G verwenden .
...
-G, --groups GROUP1 [, GROUP2, ... [, GROUPN]]]
Eine Liste zusätzlicher Gruppen, zu denen der Benutzer auch gehört. Jede Gruppe wird durch ein Komma von der nächsten getrennt, ohne dazwischenliegende Leerzeichen. Die Gruppen unterliegen denselben Einschränkungen wie die mit der Option -g angegebene Gruppe .
Wenn der Benutzer derzeit Mitglied einer Gruppe ist, die nicht aufgeführt ist, wird der Benutzer aus der Gruppe entfernt. Dieses Verhalten kann über die Option -a geändert werden , mit der der Benutzer an die aktuelle zusätzliche Gruppenliste angehängt wird.
...
Wenn Sie die Befehle genau so ausgeführt haben, wie Sie es in Ihrer Frage gezeigt haben, haben Sie nicht den Benutzer Keith erstellt, sondern nur den Benutzer John. Um Befehle nacheinander in der Befehlszeile auszuführen, müssen Sie sie mit
;
oder trennen&&
. Andernfalls wird nur der erste Befehl ausgeführt:Wenn Sie tun sie richtig ausführen, um Großbuchstaben vorsichtig sein. In Ihrer Frage erwähnen Sie sowohl "John" als auch "John". Das sollte funktionieren:
quelle
Sie können die Konfigurationsdateien auch manuell bearbeiten:
Weisen Sie die ID und andere Felder zu.
quelle