Назад | Перейти на главную страницу

httpd ldap и ошибка аутентификации файла

У нас есть SVN, работающий через Apache httpd. Для аутентификации мы используем Active Directory, и если пользователь не находится в AD, мы возвращаемся к аутентификации файла. Это работает нормально, за исключением сообщений об ошибках в случае аутентификации файла. Сообщение об ошибке мы получаем снова и снова:

auth_ldap authenticate: user <user> authentication failed; URI /svn/some/uri [User not found][No such object]

Мы хотели бы отфильтровать эти сообщения, так как наши файлы журнала быстро растут из-за этого ненужного сообщения журнала.

Извините за ответ на мой собственный вопрос, но я реализовал решение, которым хотел поделиться с вами, поскольку вы помогали мне, и оно может быть полезно для других.

В основном это довольно просто, я вообще не менял ведение журнала, я просто изменил ротацию журнала (/etc/logrotate.d/httpd) на:

/var/log/httpd/*log {
        compress
        compresscmd /usr/bin/bzip2
        compressext .bz2
        daily
        dateext
        maxage 31
        rotate 14
        size=+4096k
        notifempty
        missingok
        sharedscripts
        prerotate
                /bin/sed -i '/User not found/d' /var/log/httpd/*svn_error_log
        endscript
        postrotate
                /sbin/service httpd graceful > /dev/null 2>/dev/null || true
        endscript
}

Таким образом, все ложные срабатывания удаляются из файла журнала ежедневно. Размер файлов журнала уменьшается и не увеличивается со временем, поскольку файлы удаляются через 31 день (максимум).

При условии, что целью является фильтрация этих журналов в разные файла, есть несколько способов сделать это.

  1. Отправить ErrorLog к системный журнал и входить в разные файлы в зависимости от ввода.
  2. Использовать синтаксис канала для отправки журналов в специальную вспомогательную программу и использования ее для разделения ошибок аутентификации в отдельный файл. В производственной среде рекомендуется использовать специальный двоичный файл вместе с этой директивой (а не сценарием оболочки), поскольку это зависит от производительности.

Отклоняя Подробная информация о LogLevel вероятно, плохая идея, потому что она влияет на другие сообщения в VirtualHost. То же самое с LDAPLibraryDebug, и я думаю, что эти сообщения приходят из Apache, а не из библиотеки LDAP.

Вы можете вообще отключить сообщения журнала ошибок. Что-то вроде

Журнал ошибок / dev / null