Come faccio ad aggiungere utenti a un altro gruppo di utenti?


9

Ho un utente john e un utente keith nel server Ubuntu

Ho aggiunto questi utenti usando

sudo adduser John 
sudo adduser Keith

Come posso ora aggiungere John al gruppo di Keith?

Provai:

sudo usermod -aG Keith john

Ma ottengo:

usermod: group 'Keith' does not exist

Cosa devo fare per risolvere questo problema?

Risposte:


17

Puoi usare: usermod -a -G grouptoadd username

Dal momento che è molto meno ovvio di quanto pensassi perché -a -G è ok mentre -aG non lo è, 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, allora 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)? È inoltre pratica comune che qualsiasi opzione a lettera singola possa essere preceduta da 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, al fine di 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

usermod [opzioni] LOGIN

Descrizione

Il comando usermod modifica i file dell'account di sistema per riflettere le modifiche specificate nella riga di comando.

Opzioni

Le opzioni che si applicano al comando usermod sono:

  • -a, --appendi

    Aggiungi l'utente ai gruppi supplementari . Utilizzare solo con l' opzione -G .

  • ...

  • -G, --groups GROUP1 [, GROUP2, ... [, GROUPN]]]

    Un elenco di gruppi supplementari di cui l'utente è anche membro. Ogni gruppo è separato dal successivo da una virgola, senza spazi bianchi intermedi. I gruppi sono soggetti alle stesse restrizioni del gruppo fornito con l' opzione -g .

    Se l'utente è attualmente un membro di un gruppo che non è elencato, l'utente verrà rimosso dal gruppo. Questo comportamento può essere modificato tramite l' opzione -a , che aggiunge l'utente all'elenco di gruppi supplementari corrente.

  • ...


Potrebbe aiutare a spiegare perché la divisione delle opzioni funzionerebbe e quali opzioni siano.
Journeyman Geek

@JourneymanGeek: Fatto! corre ...
Tamara Wijsman,

superuser dovrebbe sapere come uomo, imho ...
Ярослав Рахматуллин,

@ ЯрославРахматуллин, i superutenti dovrebbero davvero. Tuttavia, la maggior parte delle domande viene posta dai "non utenti" e alla risposta da "utenti super". Qualcuno che è nuovo a Linux non ha motivo di conoscere il comando man. In ogni caso, il comando che hai dato è lo stesso di quello eseguito dall'OP, la tua risposta non spiega perché non ha funzionato per lei. Almeno sul mio sistema, dividere le opzioni non fa differenza.
terdon,

Bene, prima di tutto non puoi eseguire sudo adduser name sudo adduser name2 perché questa è una sintassi non valida per useradd . useradd accetta un argomento nome utente. Per aggiungere due utenti devi eseguire il comando due volte. IE useradd arne; useradd kari. Quindi puoi aggiungere kari al gruppo arnes e viceversa. Farò crescere la pazienza dopo aver visto alcune di queste domande e aver risposto correttamente. promettere!
Ярослав Рахматуллин,

0

Se hai eseguito i comandi esattamente come mostrato nella tua domanda, non hai creato l'utente Keith, ma solo l'utente John. Per eseguire i comandi uno dopo l'altro sulla riga di comando, è necessario separarli utilizzando ;o &&. Altrimenti, verrà eseguito solo il primo comando:

sudo adduser John sudo adduser Keith
adduser: Only one or two names allowed.

Se fatto eseguirli correttamente, essere attenti a lettere maiuscole. Nella tua domanda menzioni sia "John" che "John". Questo dovrebbe funzionare:

sudo adduser keith
sudo adduser john
sudo usermod -aG keith john

0

Puoi anche modificare manualmente i file di configurazione:

sudo nano /etc/password
sudo nano /etc/group

Assegna l'ID e altri campi.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.