D'après ma compréhension, une session Linux met en cache ses appartenances de groupe à la connexion. Ensuite, si une nouvelle appartenance à un groupe est ajoutée (par exemple avec adduser someuser somegroup
), l'utilisateur doit se déconnecter et se reconnecter pour pouvoir profiter de la nouvelle appartenance.
Ma question est: existe-t-il un moyen d'actualiser les appartenances aux groupes en cours, sans vous reconnecter, quitter le processus en cours ou démarrer un nouveau processus?
la source
Je ne pense pas. Mais vous pouvez utiliser la
newgrp
commande pour générer un nouveau shell avec le nouveau groupe. Ce n'est pas permanent.Vous devrez vous déconnecter puis vous reconnecter.
la source
su
D'autres ont mentionné "
su - $USER
" et "newgrp
", et j'ai pensé que je devrais mentionner que vous devriez également regarder "sg
".la source
Vous pouvez utiliser
gpasswd
pour un changement immédiat:Il n'est pas nécessaire de créer un nouveau shell ou de se reconnecter. Vérifiez ensuite l'appartenance au groupe en utilisant
getent
:la source
Tu peux faire:
Cela rafraîchit implicitement la liste des groupes sans avoir à quitter le terminal.
la source
Qu'en est-il (bien que cela ne réponde qu'à l'exigence selon laquelle vous n'auriez pas à vous reconnecter)
L'indicateur -l supposerait un nouveau shell de connexion et l'exec remplacerait le shell actuel par celui-ci. BTW, ne saisissez pas mal le nom du shell :-)
Un problème avec l'utilisation de newgrp et su comme suggéré précédemment est qu'un nouveau sous-shell serait créé. Oui, vous pouvez également les précéder d'une commande exec.
la source