pam_ldap
et nsswitch
n'ont pas de mécanismes de mise en cache, mais nscd
ou sssd
peut être présent sur votre système qui implémente le cache.
Pour invalider / vider nscd
utilisation du cache des groupes :
sudo nscd --invalidate=group
Pour invalider / vider sssd
utilisation du cache des groupes :
sudo sss_cache -G
Le commentaire de jopasserat conduit à une autre réponse possible.
Le groups
La commande ne signale pas les appartenances à un groupe d'un utilisateur. Il signale les privilèges d'ID de groupe du processus en cours. Il utilise uniquement NSS pour convertir les ID de groupe numériques en noms.
Lorsqu'un utilisateur se connecte, les appartenances au groupe sont obtenues à partir de NSS, et le setgid
et setgroups
les appels système sont utilisés pour donner les privilèges corrects au processus initial de l'utilisateur. Tous les processus qui en sont issus héritent des mêmes privilèges (sauf lorsqu'un programme set-id est exécuté).
Si les privilèges configurés changent alors que l'utilisateur est connecté, les processus existants ne sont pas affectés. Vous devez vous déconnecter et vous reconnecter pour obtenir des privilèges, et si vous essayez de révoquer des privilèges, vous devez tuer tous les processus de l'utilisateur pour terminer le travail.
nscd
et cela peut ajouter des couches de cache supplémentaires, mais les processus utilisateur préexistants sont en fait un cache de privilèges présent dans tous configurations.