Appel à un ami : DirectoryService incohérent, corruption du cache…

Cela fait quelque temps que je n’ai pas publié d’article sur mon blog et cela risque de durer encore un peu vu le nombre de projets que je gère en ce moment, mais la reprise ne saurait tarder, après tout, de nouvelles aventures nous attendent avec Moutain Lion Server…

Aujourd’hui je ne publie pas un article pour vous exposer une solution, mais un problème que je n’arrive pas à résoudre pour le moment…

Sur un Snow Leopard Server, je dispose d’un OpenDirectory standard avec une centaine d’utilisateurs et une vingtaine de groupe de travail. Ces groupes de travail sont utilisés entre autres pour définir des droits d’accès sur des dossiers partagés. Jusque-là tout est normal, nous sommes dans un cas classique d’utilisation de Mac OS X Server.

Là où cela se corse, c’est qu’aléatoirement, certains utilisateurs vont perdre l’accès à des points de partage, voire ne jamais y avoir accès si l’utilisateur vient d’être ajouté dans le groupe de travail associé. Pourtant l’ACE correspondant est toujours présent et l’inspecteur des permissions effectives de Server Admin 10.6 m’indique le bon résultat…

Après quelques analyses, il apparait que c’est le DirectoryService qui pose problème. En effet, un simple id username dans une ligne de commande montre que, lorsqu’un problème se produit, le système n’arrive pas à voir que l’utilisateur fait partie du groupe demandé.

Un simple killall DirectoryService résout le problème… Ce qui est étrange c’est que dscacheutil -flushcache lui ne fait rien…

Comme si le cache de DirectoryService était corrompu, mais que le système n’arrivait pas à s’en rendre compte.

Maintenant que le diagnostic est posé, je cherche le remède palliatif. Actuellement un script contenant le killall est lancé par l’opérateur, mais c’est une solution qui ne tiendra pas longtemps.

Si quelqu’un a déjà rencontré ce problème ou a une idée de solution, je suis plus que preneur !

Bien entendu les reboot système et autre mise à jour combo ont déjà été testé sans succès.

Laisser un commentaire