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.