Come aggiungere l'utente a un gruppo dalla riga di comando?


15

Con Linux / Unix, posso usare useradd -G developers vivekper aggiungere vivek al gruppo di sviluppatori. Come posso fare la stessa cosa con Mac OS X?

Quindi, come posso verificare se vivek è nel gruppo di sviluppatori?



No, non è un duplicato. Il "duplicato" collegato riguarda la creazione di un utente. Questa domanda riguarda la gestione dei gruppi di un utente esistente.
JL Peyret,

Risposte:


12

Ho usato questo one-liner:

sudo dscl localhost -append /Local/Default/Groups/thegroupname GroupMembership theusername

30

Per aggiungere un utente a un gruppo:

dseditgroup -o edit -a vivek -t user developers

(Nota: puoi anche farlo dsclcome nella risposta di @hobs, ma in realtà dovresti sia aggiungere il nome breve dell'utente all'elenco GroupMembership, sia aggiungere anche il GeneratedUID dell'utente all'elenco GroupMembers. Fa dseditgroupentrambi con una sola operazione.)

Per verificare l'iscrizione:

dseditgroup -o checkmember -m vivek developers

O:

dsmemberutil checkmembership -U vivek -G developers

Per rimuovere un utente da un gruppo:

dseditgroup -o edit -d vivek -t user developers

(Ancora una volta, puoi farlo con dscl, ma devi rimuovere l'utente sia da GroupMembership che da GroupMembers. Fa dseditgroupentrambi.)


Confermato. dscl aggiunge solo senza verificare che l'utente sia già nel gruppo. aggiunge semplicemente. e può creare un abbonamento duplicato per lo stesso utente nel gruppo.
risyasin,

Ok questo è frustrante. Quando provo ad usare il primo comando, dice "Devono essere forniti nome utente e password". Quando uso "-u michael" la pagina man dice che dovrebbe chiedermi una password, ma stampa di nuovo il messaggio precedente!
Michael,

@Michael se si specifica un utente amministratore con -u, dovrebbe richiedere la password. Quale versione di OS X stai usando? Inoltre, prova con sudo(cioè sudo dseditgroup -o ...) e dovrebbe funzionare.
Gordon Davisson,

dseditgroup -o edit -a vivek -t user developersè la chiave. Molte persone suggeriscono dseditgroup -o edit -a vivek -t developersma solo dseditgroup -o edit -a vivek -t user developersè lavorato
Lingasamy Sakthivel

8

Due modi: dal terminale

Tutto qui dovrebbe essere fatto dalla riga di comando. Prima di iniziare dscl in questo modo:

$ dscl localhost

Quindi cd al nodo Gruppi:

cd / Local / Default / Groups

Puoi vedere tutti i gruppi usando ls. Una volta trovato il gruppo che ti interessa, puoi visualizzare tutte le sue proprietà con il nome gruppo del gatto. Quando sei pronto per aggiungere un utente (nome utente) al gruppo (nome gruppo), usa il comando seguente:

aggiungi groupname Nome utente GroupMembership

Se vuoi rimuovere un membro da un gruppo, usa il seguente comando (fai attenzione!):

elimina nome gruppo GroupMembership nome utente

Al termine delle modifiche, uscire da dscl digitando exit.

E il modo ufficiale Apple:

Scegli il menu Apple> Preferenze di Sistema, quindi fai clic su Account. Apri le preferenze Account Passaggio 2

Se il riquadro delle preferenze è bloccato, fai clic sull'icona di blocco e inserisci un nome e una password di amministratore. Passaggio 3

Fai clic sul pulsante Aggiungi (+), situato sotto l'elenco degli account, per creare un nuovo account. Passaggio 4

Seleziona un gruppo dal menu a comparsa Nuovo account. Passaggio 5

Immettere un nome per il gruppo, quindi fare clic su Crea gruppo. Passaggio 6

Seleziona le caselle di controllo dagli account per essere membri nel gruppo.

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.