Après avoir édité / etc / group et ajouté un utilisateur à des groupes auxquels il n'appartenait pas, l'utilisateur ne pourra pas utiliser ses nouveaux privilèges à moins qu'il ne démarre une nouvelle session.
Existe-t-il une commande pour actualiser les propriétés des utilisateurs / groupes dans une session en cours?
linux
permissions
session
users
wonea
la source
la source
useradd -G groupname username
?Réponses:
Au niveau du noyau, l'appartenance à un groupe est une propriété de chaque processus. À moins qu'il n'ait la capacité appropriée (CAP_SETGID si je ne me trompe pas), c'est-à-dire les privilèges root à toutes fins utiles, un processus ne peut pas appartenir à un nouveau groupe.
Un utilisateur n'existe pas en tant qu'objet au niveau du noyau; seuls les processus (et fichiers) le font. Un processus a un UID (efficace et ainsi de suite) et une liste d'ID de groupe.
Lorsque vous ajoutez un utilisateur à un groupe, le noyau n'a aucune idée de ce que cela signifie. Il sait seulement, indirectement, que la prochaine fois que / bin / login ou / usr / bin / newgrp sera exécuté, un processus avec cet identifiant d'utilisateur aura un nouvel identifiant de groupe dans sa liste.
Donc, pour répondre à votre question, si vous parlez d'une session Gnome ou KDE, vous devez en effet la redémarrer. Ou si vous ne vous souciez que du résultat d'une commande en ce qui concerne ce nouveau groupe, vous pouvez utiliser newgrp que je viens de mentionner. Il démarrera un nouveau shell avec le groupe nouvellement ajouté.
la source
J'ai lu auparavant que la commande newgrp fait cela, mais uniquement pour le shell actuel. Il ne semble pas y avoir de meilleure alternative que de se déconnecter puis de se reconnecter.
la source