Voici quelques idées pour un débogage supplémentaire. Elles ne sont nécessaires que si vous êtes absolument certain qu'il ne s'agit pas d'un problème de permission...
Tout d'abord, essayez d'exécuter slapd en mode débogage :
slapd -u ldap -g ldap -d 65
Notez que l'argument de -d est un champ de bits, dont les valeurs peuvent être trouvées dans le fichier slapd.conf
(recherchez loglevel
). 65
est trace + config, qui est généralement suffisamment verbeux pour ce genre de problème. Cela peut ou non vous montrer quelque chose d'utile.
Si cela ne fonctionne pas, on peut utiliser strace
(un traceur d'appels système) pour comprendre exactement ce qui se passe. Exécutez slapd
comme ça :
strace -o /tmp/trace -f -s 1024 slapd -u ldap -g ldap -d 7
Quand il mourra, tu auras un dossier /tmp/trace
contenant tous les appels système de slapd
. Pour les curieux -f
fait en sorte que strace suive les forks (pas vraiment nécessaire dans ce cas, mais c'est ma valeur par défaut), et -s 1024
permet à strace d'imprimer jusqu'à 1024 octets d'arguments de chaîne dans le journal de suivi.
Maintenant, utilisez grep
pour rechercher des références à company.crt
dans ce dossier. En théorie, vous trouverez quelque chose qui ressemble à ceci s'il y a un problème de permission :
open("/tmp/company.crt", O_RDONLY) = -1 EACCES (Permission denied)
Ou quelque chose comme ceci si le fichier est manquant :
open("/tmp/company.crt", O_RDONLY) = -1 ENOENT (No such file or directory)
Une ouverture réussie ressemble à ça :
open("/tmp/company.crt", O_RDONLY) = 3
Où cela 3
est le descripteur de fichier retourné par open (et sera probablement un autre entier positif).
Jetez-y un coup d'œil et voyez si quelque chose d'évident saute aux yeux. Faites-moi savoir si cela ne vous aide pas.