Come rimuovere un utente da un gruppo?


108

Ho aggiunto un account utente al admingruppo e ho scoperto di aver aggiunto un utente errato. Quindi ora devo rimuovere l'account dal admingruppo.

Come posso rimuovere un account da un gruppo senza eliminare l'utente?

Risposte:


144

La risposta di Portablejim è precisa ma pericolosa: se si digita qualcosa, il sistema potrebbe essere inutilizzabile, soprattutto se si modifica il gruppo di amministrazione in modo errato. Se è necessario modificare il file dei gruppi, utilizzare i comandi vipw -go vigr, che verificano la sintassi prima di salvare. Anche allora, ci sono modi migliori.

Da una riga di comando, quello che probabilmente si desidera utilizzare è il seguente (come root):

deluser <username> <groupname>

Ciò rimuoverà l'utente specificato dal gruppo specificato. Devi accedere nuovamente per vedere l'effetto. Non eliminerà l'utente o il gruppo, solo l'appartenenza. Ci sono anche modi per farlo con il usermodcomando, ma è più difficile da usare in quanto è necessario sostituire l'intero elenco di gruppi per un utente al fine di rimuovere un singolo gruppo. Il gpasswdcomando è anche in grado di farlo (come sottolinea Sagarchalise), ma è per lo più deprecato. Come sempre, vedi le pagine man per maggiori dettagli.


9
gpasswdnon è deprecato. Il suo intero scopo è amministrare / etc / group e / etc / gshadow. Inoltre, mentre il tuo metodo funziona, ed è menzionato nella pagina man di deluser, è un po 'rischioso. Se premi accidentalmente Invio prima di digitare il nome del gruppo, hai rimosso l'utente. Spero che ti ricordi il suo UID in modo da poterlo aggiungere rapidamente. Sarebbe più sicuro usare gpasswd progettato per questo scopo.
Starfish,

1
Ho pensato anche a questo rischio. Suppongo che puoi sempre avviare un comando del genere con un '#', premere invio e quindi eseguirlo nuovamente rimuovendo il primo carattere.
Ezequiel-Garzon,

"Devi accedere nuovamente per vedere l'effetto." ... o potresti semplicemente scrivere: 'cat / etc / group'
josh.thomson,

Avevo trovato deluserdurante la ricerca di pagine man (qui con Ubuntu 18 nel 2018), ma la prima riga nella pagina man afferma: "rimuovi un utente o un gruppo dal sistema", quindi sono passato alla mia ricerca. Chiaramente la pagina man deve essere formulata meglio.
tim.rohrer

Ho trovato questa risposta in un articolo e immediatamente i peli sul retro del mio collo si sono alzati. Non so perché a così tante persone piaccia e accetti questa risposta, ma è pericoloso IMHO; esp come root. La risposta di Anthony Geoghegan è la soluzione corretta; proprio come dice Starfish.

46

Puoi farlo:

sudo gpasswd -d username group

Dovresti anche consultare il manuale di gpasswd


4
Un vantaggio gpasswdè che è più multipiattaforma e funziona anche su distribuzioni basate su Red Hat.
Anthony Geoghegan,

Questa è la risposta esatta. Se solo fosse salito in cima.

Puoi modificare la tua risposta per spiegare cosa fa il flag -d? (Ho votato per la migliore risposta, comunque! Grazie!)
Aerendir,

2

Il modo più semplice e sicuro:

sudo -H gedit /etc/group

ed eliminalo manualmente.


Vedo questo enrty. ssh:x:118: Qual è il significato del numero 118qui?
ankit7540

sicuramente NON è il modo più sicuro!
callmebob

2

Vedi la risposta di zanfur.

Modifica il /etc/groupfile come root (ie gksudo gedit /etc/group) e rimuovi il nome utente dalla riga che inizia con 'admin'

vale a dire

...
admin:x:120:adminuser,adminuser2,userthatshouldnotbeadmin
...

diventa

...
admin:x:120:adminuser,adminuser2
...

Attenzione, errori di battitura all'interno del file potrebbero danneggiare il sistema.


11
Si prega di non consigliare di modificare manualmente questi file di sistema. Nel caso in cui si rovini il sistema potrebbe diventare inaccessibile.
gertvdijk,

O almeno eseguirne il backup prima. ( Informazioni correlate. )
Eliah Kagan,

2
Penso che dovresti pubblicare questo in quanto è una visione preziosa di come funziona Linux. Tuttavia, dovrebbe includere un avvertimento che esiste un modo molto più sicuro
Freedom_Ben
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.