Puoi usare:usermod -a -G grouptoadd username
Dal momento che è molto meno ovvio di quanto pensassi perché -a -G va bene mentre -aG no, proverò a spiegarlo:
Le opzioni -G accettano un valore o un elenco di valori. Nel caso di un valore, il valore può essere dato come:-GVALUE poiché non è necessario avere uno spazio tra l'opzione e il valore. Questa è solo una pratica comune.
Se hai un gruppo chiamato a sul tuo sistema, chiamare -Ga diventa ambiguo. Vuoi che l'utente abbia un solo gruppo a? Stai chiamando -a e -G? Quindi "a" è un valore per -G? Dov'è il resto del valore (a -G)? È anche pratica comune che qualsiasi opzione a lettera singola possa essere prima di qualsiasi altra opzione a lettera singola. quindi tat -xy ==-yz. Ma questo è ambiguo quando una delle opzioni può assumere un singolo valore come VALUE o molti valori come VAL1,Val2,val4,ecc.
Quindi, per rendere il comando FAILSAFE e funzionare correttamente per tutti gli input, devi separare -a da -G
Da man usermod
:
Nome
usermod - modifica un account utente
Sinossi
modutente [opzioni] ACCEDI
Descrizione
Il mod utente comando modifica i file dell'account di sistema per riflettere le modifiche specificate nella riga di comando.
Opzioni
Le opzioni che si applicano a usermod comando sono:
-a, --append
Aggiungi l'utente al gruppo supplementare (S). Utilizzare solo con -G opzione.
...
-G, --gruppi GRUPPO1[,GRUPPO2,...[,GRUPPO]]]
Un elenco di gruppi supplementari di cui l'utente è anche membro. Ogni gruppo è separato dal successivo da una virgola, senza spazi intermedi. I gruppi sono soggetti alle stesse restrizioni del gruppo dato con -g opzione.
Se l'utente è attualmente un membro di un gruppo che non è elencato, l'utente verrà rimosso dal gruppo. Questo comportamento può essere modificato tramite -a opzione, che aggiunge l'utente all'attuale elenco di gruppi supplementari.
...