GNU/Linux >> Tutoriels Linux >  >> Linux

Besoin d'utiliser Newgrp ou Su (ou de vous déconnecter et de vous reconnecter) pour appliquer de nouvelles adhésions de groupe ?

Qu'est-ce qui fait que l'adhésion à un nouveau groupe nécessite une nouvelle connexion (ou un nouveau shell de connexion comme démarré par su ou newgrp ) pour être visible ?

Exécutez simplement une autre instance bash (ou tout autre shell) avec --login ne fonctionne pas, mais quelque chose qui est suid root comme su ou newgrp fonctionne.

Est-ce que quelque chose est hérité du shell parent ou mis en cache, ce qui masque les nouvelles appartenances au groupe ?

Réponse acceptée :

Lorsqu'un processus enfant est créé, l'ID utilisateur et les ID de groupe du processus sont hérités de son processus parent.

Ainsi, lorsque vous modifiez les groupes de vos utilisateurs (en fait, modifiez les fichiers de configuration quelque part sur le disque), les processus ne le remarqueront pas automatiquement et ne modifieront pas leurs identifiants de groupe (les processus non root n'ont de toute façon pas les droits pour cela).

Et quand vous démarrez bash… eh bien, vous venez de démarrer bash, rien de spécial ne se passe. Il hérite simplement des identifiants de groupe du parent (shell graphique ou autre bash peut-être).

Mais lorsque vous exécutez su ou que vous vous connectez, toute la magie opère. Ils vérifient si vous êtes autorisé à vous connecter et à modifier leur identifiant d'utilisateur et leurs identifiants de groupe (à l'aide d'appels système qui nécessitent d'ailleurs un identifiant racine effectif - c'est pourquoi ils ont activé le bit suid) afin que tous leurs processus enfants héritent de ces identifiants.


Linux
  1. Introduction aux commandes Linux chgrp et newgrp

  2. Antivirus sur Linux :dois-je vraiment l'utiliser et si oui, quand en ai-je besoin ?

  3. Comment installer et utiliser Flatpak sous Linux

  4. Comment puis-je utiliser xargs pour copier des fichiers contenant des espaces et des guillemets dans leurs noms ?

  5. Changer de propriétaire et de groupe en C ?

Qu'est-ce que la prison chroot et comment l'utiliser ?

Comment installer et utiliser Helm dans Kubernetes

Comment installer et utiliser Linux Screen ?

Comment installer et utiliser PuTTY sous Linux

Linux a une nouvelle application d'authentification, et c'est assez facile à utiliser pour n'importe qui

Utiliser SFTP et SCP