8 votes

Les modifications de l'appartenance aux groupes AD ne sont pas reflétées dans les informations de winbind

J'ai hérité de plusieurs serveurs RHEL5 qui ont été configurés pour authentifier les utilisateurs contre leurs comptes AD via winbind. Tout fonctionne bien jusqu'à ce que je mette à jour l'appartenance à un groupe dans AD. Pour certains utilisateurs, les modifications ne sont jamais reflétées dans la sortie de la commande "groups", bien qu'elles apparaissent dans la sortie de "getent group ".

Par exemple, considérez ce qui suit :

[root@hcc1pl1 ~]# groups plubans
plubans : domain users systems infrastructure development
[root@hcc1pl1 ~]# getent group q1esb
q1esb:*:23136:q1qai,q1prodi

Si je me rajoute à q1esb sur le DC utilisé par winbind, vous pouvez voir que l'appartenance est mise à jour :

[root@hcc1pl1 ~]# lsof -i | grep winbind
winbindd 31339 root 17u IPv4 63817934 TCP hcc1pl1:56541->hcnas01:microsoft-ds (ESTABLISHED)
winbindd 31339 root 21u IPv4 63817970 TCP hcc1pl1:53622->hcnas01:ldap (ESTABLISHED)
[root@hcc1pl1 ~]# ldapsearch -u -x -LLL -h hcnas01 -D "plubans@XXX.XXX" -W -b "CN=Peter Lubans,OU=Standard User Accounts,OU=Users,OU=XXX,DC=XXX,DC=XXX" "(sAMAccountName=*)" memberOf
Enter LDAP Password:
...
memberOf: CN=q1esb,OU=Security Groups,OU=Groups,OU=XXX,DC=XXX,DC=XXX
...

Notez que winbind fonctionne sans mise en cache (-n) :

[root@hcc1pl1 ~]# ps -ef | grep winbind
root 31339 1 0 13:50 ? 00:00:00 winbindd -n
root 31340 31339 0 13:50 ? 00:00:00 winbindd -n
root 31351 31339 0 13:50 ? 00:00:00 winbindd -n
root 31352 31339 0 13:50 ? 00:00:00 winbindd -n
root 31353 31339 0 13:50 ? 00:00:00 winbindd -n

Maintenant, getent montre que ce groupe a les membres corrects :

[root@hcc1pl1 ~]# getent group q1esb
q1esb:*:23136:q1qai,plubans,q1prodi

Mais l'appartenance mise à jour n'est pas reflétée dans les détails de mon compte :

[root@hcc1pl1 ~]# groups plubans
plubans : domain users systems infrastructure development
[root@hcc1pl1 ~]#

La partie vraiment déroutante de ce problème est que cela fonctionne bien pour d'autres comptes sur cette machine, et pour mon compte sur les machines que j'ai configurées entièrement.

Des idées ?

4voto

Il semble que cela a été causé par des informations de groupe mises en cache au moment de la connexion dans /var/cache/samba/netsamlogon_cache.tdb. Je suppose que même si '-n' a instruit winbind de ne pas mettre en cache ses requêtes contre LDAP, la présence des informations d'adhésion dans ce fichier TDB était suffisante pour perturber les choses.

1voto

Catherine MacInnes Points 1968

Ma seule pensée, et c'est une pensée très vague, est qu'il pourrait avoir quelque chose à voir avec la communication avec votre Infrastructure Master (qui est responsable de la mise à jour des appartenances aux groupes à travers les domaines).

1voto

rvf Points 1415

J'ai eu une expérience similaire avec les packages samba/winbind de base de RHEL. Il a été mon expérience que winbind de RHEL est un peu louche. Ce que j'ai observé, c'est qu'une fois qu'un utilisateur s'est authentifié, son appartenance à un groupe serait mise à jour avec précision, mais à part ça, aucun changement dans l'appartenance à un groupe ne serait jamais visible. Ce n'est pas une solution optimale, en particulier si vous retirez un utilisateur d'un groupe qui lui accorderait l'accès à la machine, car cela lui donne effectivement une dernière connexion qu'il ne devrait pas avoir. Cela peut ou non refléter exactement votre situation, car j'ai aussi souffert de ne pas voir les membres du groupe AD lors de l'exécution de getent group (cela ressemblerait simplement à un groupe sans membres, même si groups nomdutilisateur les montrait comme un membre du groupe), mais il semble que cela fonctionne pour vous.

Ce qui a résolu le problème pour moi a été d'installer la distribution "testée" des RPMs depuis enterprisesamba.org. Les changements d'appartenance à un groupe ont immédiatement été visibles, quel que soit les paramètres de cache de winbind. Aucun changement de configuration requis, MAIS si vous mappez les utilisateurs et groupes AD avec une table idmap locale, installer les nouveaux RPMs remappera très probablement complètement vos identifiants numériques de groupe et d'utilisateur, alors préparez-vous à cela (sauvegardez votre sortie de getent group and getent passwd dans un fichier avant la mise à niveau pour avoir une référence pour corriger la propriété des fichiers).

0voto

dustin Points 1

J'ai eu quelque chose de similaire. Pour résoudre le problème, j'ai exécuté "authconfig --disablecache --update". Bien sûr, cela a ralenti les connexions.

-1voto

Douglas Comim Points 1

J'ai eu le même problème ici, et j'ai trouvé ce lien (https://marcinm.co.uk/group-membership-not-updating-in-winbind/) qui explique en détail ce qui se passe. En suivant les étapes et en supprimant les enregistrements du cache, mon problème a été résolu.

Au revoir

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X