OSX Serveur: l’option d’archivage de la base Opendirectory ne fonctionne pas

{0 Comments}

Il m’est arrivé de rencontrer ce problème dans pas mal de serveurs Opendirectory en OSX 10.5 et 10.6:

Lors de l’archivage de la base Opendirectory par l’option dédiée dans « Admin Serveur », la procédure arrive à terme correctement (barre de défilement complétée) mais aucune archive n’est créée dans le dossier indiqué.

Ce qui est particulièrement sournois dans ce problème est la totale absence de message d’erreur.

Uniquement une vérification précise des fichiers d’historique du service slapd (/Library/Logs/slapconfig.log) permet d’avoir un indice de la cause sous-jacente:

Error in backing up keychain -25300

Pas très explicite;

Néanmoins cela nous indique que la procédure d’archivage a échoué au moment d’utiliser le « Trousseau d’Accés ».

Une vérification approfondie du « Trousseau d’Accés » Système à la recherche d’un accès qui pourrait être utilisé par la procédure d’archivage afin d’accéder au contenu de la base LDAP met en évidence la présence d’une entrée portant le nom com.apple.opendirectory

Bingo!

Cette « clef » qui permet la validation des accès systèmes par l’opération de backup est aussi la clef de notre problème;

En effet, si cette dernière est incorrecte ou absente la procédure échoue avec l’erreur -25300.

Dans la plus parts de cas (comme dans l’image précédente) la clef est corrompue par un « grand classique » des problèmes de configuration de Mac OS X serveur: les services de résolution de nom interne mal renseigné.

En particulier: la non-concordance entre le nom FQDN de la machine et le hostname utilisé par le système afin de créer la clef opendirectory.

La solution, consiste, donc, à rétablir la concordance entre ces entrées, en commencent par le hostname avec la commande:

sudo scutil -set HostName nomcomplet.du.serveur

Là où nomcomplet.du.serveur est équivalent au FQDN du serveur dans le DNS.

Nous pouvons tester la correction avec la ligne de commende aka « bouche de la vérité » :

sudo changeip -checkhostname

Pour résoudre notre problème d’archive (et pas mal d’autres ennuis de fonctionnement de la base OpenDirectory) il faut absolument que la bouche de la vérité nous gratifie avec la réponse:

There is nothing to change

À partir de là, nous pouvons éditer le champ « compte » de notre clef com.apple.opendirectory avec le FQDN du serveur terminé IMPÉRATIVEMENT par un $

 

…Et voilà! L’option archivage, comme par magie, amènera sa tâche à bon port.

À noter que dans une minorité de cas, l’origine du problème est l’absence de cette clef dans le trousseau d’accès:

Il suffit, alors de créer une nouvelle clef en spécifiant comme Nom –> com.apple.opendirectory et comme Compte –> le FQDN suivi par $ et valider le tout avec le mot de passe d’administrateur.

S’assurer que l’option « Autoriser l’accès à cet élément par toutes les applications » soit cochée dans l’onglet « Contrôle d’accès » de la clef:

…et voilà!

Leave a Comment

Your email address will not be published.

*