Недавно потребовалось перезапустить OpenLDAP на одном из наших серверов. Когда я перезапускаю службу, командная строка просто ждет чего-то. Я никогда не получаю [ OK ]
. Если я CTRL+C
из этого, он говорит
...killed.
/etc/openldap/cacerts/company.crt is not readable by "ldap[WARNING]
Чтобы доказать свою точку зрения, я сделал /etc/openldap
777 рекурсивно. Я все еще получаю сообщение об ошибке.
Я ничего не вижу в /var/log
меняется, чтобы дать мне обратную связь. Где мне нужно искать, чтобы это исправить?
Это старый сервер под управлением Fedora 8 (я знаю, виноват предыдущий айтишник).
Вот несколько идей для дополнительной отладки. Это необходимо только в том случае, если вы абсолютно уверены, что это не проблема с разрешением ...
Сначала попробуйте запустить slapd в режиме отладки:
slapd -u ldap -g ldap -d 65
Обратите внимание, что аргумент -d - это битовое поле, значения которого можно найти в slapd.conf
страница руководства (ищите loglevel
). 65
это trace + config, который обычно достаточно подробен для такого рода проблем. Это может показать или не показать вам что-нибудь полезное.
Если это не сработает, мы можем использовать strace
(трассировщик системных вызовов), чтобы точно выяснить, что происходит. Бегать slapd
как это:
strace -o /tmp/trace -f -s 1024 slapd -u ldap -g ldap -d 7
Когда он умрет, у вас будет файл /tmp/trace
содержащий все системные вызовы из slapd
. Для любопытных -f
заставляет strace следовать за вилками (в данном случае это не обязательно, но это по умолчанию), и -s 1024
заставляет strace печатать до 1024 байтов строковых аргументов в журнале трассировки.
Теперь используйте grep
искать ссылки на company.crt
в этом файле. Теоретически вы найдете что-то похожее на это, если это проблема с разрешением:
open("/tmp/company.crt", O_RDONLY) = -1 EACCES (Permission denied)
Или что-то вроде этого, если файл отсутствует:
open("/tmp/company.crt", O_RDONLY) = -1 ENOENT (No such file or directory)
Успешное открытие выглядит так:
open("/tmp/company.crt", O_RDONLY) = 3
Где это 3
- дескриптор файла, возвращаемый функцией open (и, вероятно, будет другим положительным целым числом).
Посмотрите, не выскочит ли что-нибудь очевидное. Дай мне знать, если это не поможет.
Вы не должны устанавливать / etc / openldap на 777. Разрешения необходимы, чтобы иногда все работало правильно. Я бы предложил вернуть его на 755.
Возможно, у вас неправильный пользователь и / или разрешение на cacerts
drwxr-xr-x 3 root root 4096 19 апреля 2007 cacerts /