Vérifier si la base de données du DO est à l'origine du problème
$ sudo /usr/libexec/slapd -Tt
Aucune autre action n'est nécessaire si la sortie indique quelque chose comme :
...
bdb_db_open: database "dc=hostname,dc=domainname,dc=tldname": recovery skipped in read-only mode. Run manual recovery if errors are encountered.
...
Essayer la réparation
Pour réparer la base de données Open Directory authdata :
$ sudo launchctl unload /System/Library/LaunchDaemons/org.openldap.slapd.plist
Lancez maintenant la récupération de la base de données à l'aide de la commande ci-dessous qui correspond à la version de votre système d'exploitation.
$ sudo db_recover -h /var/db/openldap/authdata/ # Mac OS X 10.7
$ sudo db_recover -h /var/db/openldap/openldap-data/ # Mac OS X 10.6
Maintenant, slapd en mode outil produit des sorties :
$ sudo /usr/libexec/slapd -Tt
bdb_db_open: database "dc=nl2,dc=probackup,dc=nl": unclean shutdown detected; attempting recovery.
bdb_db_open: database "dc=nl2,dc=probackup,dc=nl": recovery skipped in read-only mode. Run manual recovery if errors are encountered.
bdb_monitor_db_open: monitoring disabled; configure monitor database to enable
config file testing succeeded
Activez à nouveau l'Open Directory :
$ sudo launchctl load /System/Library/LaunchDaemons/org.openldap.slapd.plist
Et de procéder à un nouveau redémarrage par mesure de précaution :
$ sudo reboot
Open Directory devrait maintenant fonctionner à nouveau. Si ce n'est pas le cas, essayez ci-dessous.
Essayez la restauration Time Machine
Commencez par consulter les versions rétrocédées disponibles :
$ ls /Volumes/Time\ Machine/Backups.backupdb/*/
Choisissez la version la plus récente lorsque Open Directory fonctionnait encore correctement, par exemple 2018-07-22-091106
.
Recommencez à décharger le démon.
$ sudo launchctl unload /System/Library/LaunchDaemons/org.openldap.slapd.plist
Ensuite, supprimez (ou renommez) le répertoire de la base de données (s'il est disponible, Time Machine ne restaurera pas correctement) et lancez la restauration :
$ sudo rm -rf /var/db/openldap/ && sudo tmutil restore -v /Volumes/Time\ Machine/Backups.backupdb/*/2018-07-22-091106/Macintosh\ HD/var/db/openldap/ /var/db/
Forcer la réparation de la base de données :
$ sudo db_recover -cv -h /var/db/openldap/openldap-data/
Réparer les autorisations et redémarrer :
$ sudo diskutil repairPermissions / && sudo reboot