Je souhaite ajouter l'utilisateur Apache (www-data
) au groupe audio
. J'ai lu la page de manuel relative à useradd
, mais je n'ai aucune chance. Je suis sous xubuntu 11.10. Voici ce que je fais:
$ Sudo useradd -G audio www-data
useradd: user 'www-data' already exists
Si je laisse de côté l'option -G
, bash, affiche les informations d'aide pour useradd
:
$ Sudo useradd audio www-data
Usage: useradd [options] LOGIN
Options: -b, --base-dir BASE_DIR base directory for the home directory...
La page de manuel ne me permet pas de savoir quelles options utiliser pour que cela fonctionne.
La commande useradd
essaiera d’ajouter un nouvel utilisateur. Puisque votre utilisateur existe déjà, ce n'est pas ce que vous voulez.
Au lieu de cela: Pour modifier un utilisateur existant, comme pour l'ajouter à un nouveau groupe, utilisez la commande usermod
.
Essaye ça:
Sudo usermod -a -G groupName userName
L'utilisateur devra se déconnecter et se reconnecter pour voir son nouveau groupe ajouté.
Le commutateur -a
(append) est essentiel. Sinon, l'utilisateur sera supprimé de tous les groupes, pas dans la liste.
Le commutateur -G
crée une liste (séparée par des virgules) de groupes supplémentaires auxquels l'utilisateur peut être affecté.
Ajouter un utilisateur à un groupe:
Sudo adduser user group
Supprimer un utilisateur d'un groupe:
Sudo deluser user group
Après avoir ajouté à un utilisateur existant:
usermod -a -G group user
Vous devrez peut-être déconnecter et vous connecter pour obtenir les autorisations de groupe de /etc/group
.
J'utilise normalement
Sudo gpasswd -a myuser mygroup
Je poste ceci comme réponse parce que je n'ai pas assez de réputation pour commenter. Comme @ dpendolino l'a mentionné, pour que les effets de cette commande persistent:
Sudo usermod -a -G groupName userName
... vous devez vous déconnecter/vous connecter à nouveau.
Toutefois, si vous avez besoin d’un raccourci pour commencer à utiliser votre nouvelle appartenance à un groupe immédiatement (et que vous disposiez des privilèges corrects Sudo) I ont trouvé cette solution de contournement:
$ Sudo su -
# su [userName]
$ groups
Explication:
Sudo su -
vous donnera un shell racinesu [userName]
vous renvoie à un shell avec votre utilisateurgroups
lors de son exécution présentera le groupe que vous avez ajouté avec la commande usermod -aG
Dans mon cas, j'essayais d'ajouter le groupe "docker" à mon utilisateur
Avant:
$ groups
userName adm cdrom Sudo dip plugdev lpadmin sambashare wireshark lxd
Après:
$ groups
userName adm cdrom Sudo dip plugdev lpadmin sambashare wireshark lxd docker
Sous Ubuntu, puisque la connexion en tant que root
n'est pas activé , les utilisateurs du groupe Sudo
peuvent élever les privilèges de certaines commandes restreintes. Toute commande restreinte doit être précédée de Sudo
pour élever le privilège.
Sudo usermod -a -G groupuser
ajoutera l’utilisateur existant user
à un groupe supplémentaire nommé group
. Le groupe principal de l'utilisateur restera inchangé.
Sudo usermod -a -G groupName userName
fonctionnera très bien, mais je devais redémarrer entièrement, déconnectez-vous et connectez-vous à nouveau n'a pas fait le travail ...