Question Actualiser les appartenances de groupe supplémentaires sans vous reconnecter?


De ma compréhension, une session Linux met en cache les appartenances à son groupe lors de 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 du nouvel abonnement.

Ma question est: est-ce qu'il y a tout moyen d'actualiser les appartenances aux groupes en cours, sans vous reconnecter, quitter le processus actuel ou démarrer un nouveau processus?


9
2017-10-15 21:03


origine




Réponses:


Vous pouvez commencer une nouvelle connexion à partir de votre session

$ su - your_login

Cela n'affecte pas votre processus en cours. Si vous utilisez Xserver, vous pouvez démarrer xterm et taper cette commande (affecte uniquement cette session de terminal) La seule façon de le rendre persistant est de terminer votre session et de la redémarrer


8
2017-10-16 13:16



Si vous n'autorisez que l'authentification par clé publique sur votre serveur, vous devez importer la clé secrète? - Cyril Duchon-Doris


Je ne pense pas. Mais vous pouvez utiliser le newgrp commander générer un nouveau shell avec le nouveau groupe. Ce n'est pas permanent.

newgrp superawesomegroupname

Vous aurez besoin de connecter vos utilisateurs hors, puis sur.


4
2017-10-16 11:19



+1 fonctionne sans mot de passe / authentification contrairement à su - Cyril Duchon-Doris


D'autres ont mentionné "su - $USER" et "newgrp", et j'ai pensé que je devrais mentionner que tu devrais aussi regarder"sg".


2
2017-10-16 13:25





Vous pouvez utiliser gpasswd pour changement immédiat:

gpasswd -a someuser somegroup

Il n'est pas nécessaire de créer un nouveau shell ou une nouvelle connexion. Ensuite, vérifiez l’appartenance au groupe en utilisant getent:

getent group somegroup

1
2017-11-18 14:19



Vous créez le groupe, puis vous le recherchez. Cela n'a rien à voir avec la question discutée - le changement n'est pas effectif dans votre session actuelle. - Str.


Tu peux faire:

exec su -l $USER

Cela actualise implicitement la liste des groupes sans avoir à quitter le terminal.


1
2017-11-07 10:59





Qu'en est-il de cela (bien que cela ne réponde qu'à l'exigence de ne pas devoir se reconnecter)

exec /bin/bash -l

L'option -l suppose un nouveau shell de connexion et l'exécutif remplace le shell actuel par ce nouveau. BTW, ne pas saisir le nom du shell :-)

Un problème lié à l'utilisation de newgrp et de su, comme suggéré précédemment, est la création d'un nouveau sous-shell. Oui, vous pouvez aussi les faire précéder d’une commande exec.


0
2017-10-16 21:27