Vraag Hoe een bestaande gebruiker aan een bestaande groep toe te voegen?


Ik wil de Apache-gebruiker toevoegen (www-data) naar de audio groep. Ik heb de manpagina gelezen voor useradd, maar ik heb geen geluk. Ik gebruik xubuntu 11.10. Dit is wat ik aan het doen ben:

$ sudo useradd -G audio www-data
useradd: user 'www-data' already exists

Als ik de -G optie, bash, drukt de helpinformatie voor useradd:

$ sudo useradd  audio www-data
Usage: useradd [options] LOGIN
Options: -b, --base-dir BASE_DIR       base directory for the home directory...

Het is mij niet duidelijk uit de man-pagina welke opties ik zou moeten gebruiken om dit te laten werken.


578
2017-11-15 18:21


oorsprong




antwoorden:


De useradd commando zal proberen een nieuwe gebruiker toe te voegen. Aangezien uw gebruiker al bestaat, is dit niet wat u zoekt.

In plaats daarvan: gebruik de. Om een ​​bestaande gebruiker aan te passen, zoals het toevoegen van die gebruiker aan een nieuwe groep usermod opdracht.

Probeer dit:

sudo usermod -a -G groupName userName

De gebruiker moet zich afmelden en weer inloggen om hun nieuwe groep toegevoegd te zien.

  • De -a (toevoegen) schakelen is essentieel. Anders wordt de gebruiker verwijderd uit groepen, niet uit de lijst.

  • De -G switch neemt een (door komma's gescheiden) lijst met extra groepen om de gebruiker aan toe te wijzen.


889
2017-11-15 18:33



sudo usermod -a -G [group-name] [user-name] : Gewoon een vluggertje voor degenen die alleen een blik werpen op het antwoord na het lezen van de kop - Programster
Ik denk dat de voorkeursmanier nu is sudo adduser user group. Het is eenvoudiger en schonere syntaxis. Zie het antwoord van @Bai. - ctbrown
@wilhil: man usermod: "-a, --append - Voeg de gebruiker toe aan de aanvullende groep (en). Gebruik alleen met de -G optie .; -G, - groepen GROEP1 [, GROEP2, ... [, GROUPN]]] [...] Als de gebruiker momenteel lid is van een groep die niet in de lijst staat, wordt de gebruiker uit de groep verwijderd. Dit gedrag kan worden gewijzigd via de optie -a, die de gebruiker toevoegt aan de huidige aanvullende groepslijst. " - Adam Michalik
Is er een manier om het gedeelte 'uitloggen en weer terug' te omzeilen? Een type update-groepen-commando, misschien? - con-f-use
@ con-f-gebruik, als je kunt rennen sudo login -f YOURUSERNAME, het zal een nieuwe shell-sessie starten. Gebruik de id commando om te verifiëren dat de nieuwe sessie in de juiste set van groepen zit. Dit is echter niet "globaal" - het is niet van toepassing op terminals die al open zijn. Dus echt afmelden is de beste optie, waar mogelijk - Aaron McDaid


Een gebruiker aan een groep toevoegen:

sudo adduser user group

Een gebruiker verwijderen uit een groep:

sudo deluser user group

192
2018-01-12 13:09



niet precies waar deze vraag om gevraagd wordt - Tejendra
@ Tejendra's opmerking lijkt te veronderstellen dat het gebruik van useradd wenselijk / verplicht is om de vraag van OP te beantwoorden; Misschien missen dit antwoord gewoon woorden om aan te geven dat adduser / deluser een beter alternatief is. - sage
Voor mij is een eenvoudigere interface beter, daarom hou ik van deze. - Betlista
Dit is precies de vraag wordt gesteld. @knocte, ja, ik denk dat het specifiek Debian is - Auspex
@Auspex Ik kan bevestigen dat het niet werkt op Red Hat. - Stibu


Na het toevoegen aan een bestaande gebruiker:

usermod -a -G group user  

Het kan nodig zijn uitloggen en inloggen om de groepenrechten van te krijgen /etc/group.


47
2018-02-22 17:16



Maak het onderdeel "moet u uitloggen en inloggen" vetgedrukt. - Jin Kwon
Ter info: ik denk dat het id commando zou moeten aangeven dat je aan de groep was toegevoegd zonder te hoeven afsluiten. id myuser - ficuscr
Uitloggen en weer inloggen was voor mij verplicht op Ubuntu 14.10. - A.Danischewski


Ik gebruik normaal

sudo gpasswd -a myuser mygroup

24
2017-11-15 18:47



usermod was niet beschikbaar op mijn systeem ubuntu 14.04. Dit werkte prima! - Drew


Op Ubuntu sindsdien inloggen als root is niet ingeschakeld, gebruikers in de sudo groep kan bevoegdheden opheffen voor bepaalde beperkte opdrachten. Voor elk beperkt commando moet een bijlage worden toegevoegd sudo om privileges te verheffen.

sudo usermod -a -G groep gebruiker

zal de bestaande gebruiker toevoegen user naar een aanvullende groep met de naam group. De primaire groep van de gebruiker blijft ongewijzigd.


4
2018-02-25 21:58





Ik plaats dit als een antwoord omdat ik niet genoeg reputatie heb om commentaar te geven. Zoals @ dpendolino's vermeldden, om de effecten van dit commando aan te houden:

sudo usermod -a -G groupName userName

... u moet opnieuw inloggen / inloggen.

Als u echter een snelkoppeling nodig hebt om uw nieuwe groepslidmaatschap te gebruiken per direct (en je hebt het juist sudo privileges) Ik heb deze work-around gevonden:

$ sudo su -
# su [userName]
$ groups

Uitleg:

  • sudo su - zal je een rootshell geven
  • su [userName] brengt u terug naar een shell met uw gebruiker
  • groups als nu wordt uitgevoerd, wordt de groep weergegeven die u hebt toegevoegd met de usermod -aG opdracht

In mijn geval probeerde ik de 'docker'-groep toe te voegen aan mijn gebruiker

Voor:

$ groups
userName adm cdrom sudo dip plugdev lpadmin sambashare wireshark lxd

Na:

$ groups
userName adm cdrom sudo dip plugdev lpadmin sambashare wireshark lxd docker

2
2018-03-25 17:49