From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.2.3 (2007-08-08) on sa.int.altlinux.org X-Spam-Level: X-Spam-Status: No, score=-1.7 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.2.3 Message-ID: <47DC35BE.9040805@mail.ru> Date: Sat, 15 Mar 2008 23:46:54 +0300 From: Dmitry User-Agent: Thunderbird 2.0.0.12 (X11/20080304) MIME-Version: 1.0 To: Sysadmins@lists.altlinux.org X-Enigmail-Version: 0.95.6 Content-Type: text/plain; charset=KOI8-R; format=flowed Content-Transfer-Encoding: 8bit Subject: [Sysadmins] OpenLDAP vs BIND X-BeenThere: sysadmins@lists.altlinux.org X-Mailman-Version: 2.1.10b3 Precedence: list Reply-To: ALT Linux sysadmin discuss List-Id: ALT Linux sysadmin discuss List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 15 Mar 2008 20:46:57 -0000 Archived-At: List-Archive: Здравствуйте. Имеется ALTS4.0.1 с настроенной авторизацией пользователей через ldap. Установил на этот сервер bind, и сразу же при загрузке системы получил задержку ~2 минуты. В логе обнаружил сообщение следующего содержания: named[4758]: nss_ldap: failed to bind to LDAP server ldap://127.0.0.1: Can't contact LDAP server named[4758]: nss_ldap: could not search LDAP server - Server is unavailable Т.е. LDAP-сервер недоступен, так как он стартует позже BIND. Сразу же возник вопрос: как bind связан с ldap? Ответ: сам named никак не связан с ldap, но он запускается от имени пользователя named.named. Однако, согласно nsswitch.conf... -------------nsswitch.conf------------- passwd: files ldap nisplus nis group: files ldap nisplus nis shadow: tcb files ldap nisplus nis --------------------------------------- ...до ldap не должно доходить, так как named - локальный пользователь, принадлежащий локальной группе named. ------------------------------------------------ [root@linux log]# cat /etc/group | grep named named:x:25: ------------------------------------------------ И действительно, после корректировки строки в nsswitch.conf... -------------nsswitch.conf------------- group: files nisplus nis -------------nsswitch.conf------------- ...запуск BIND при загрузке произошел без задержек и ошибок логе. То, что группа named - локальная подтвердила команда id... -------------------------------------------- uid=25(named) gid=25(named) groups=25(named) -------------------------------------------- которая успешно отработала. Но такая конфигурация nsswitch.conf меня не устраивает - не работает отображение групп в LDAP. Поэтому пришлось вернуть строку -------------nsswitch.conf------------- group: files ldap nisplus nis --------------------------------------- Попытка ограничить работу libnss_ldap с помощью модификатора [SUCCESS=return] не дала результата... -------------nsswitch.conf-------------------------- group: files [SUCCESS=return] ldap nisplus nis ---------------------------------------------------- ... при загрузке при запуске BIND вернулись тормоза и жалоба на недоступность ldap-сервера в логе. Поиск в google дал ссылку на дискуссию о похожем баге в Debian http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=375077 В bugillа нашел https://bugzilla.altlinux.org/show_bug.cgi?id=12400 https://bugzilla.altlinux.org/show_bug.cgi?id=8986 Решение, которое здесь предлагается - добавить bind_policy soft в nss_ldap.conf. Безусловно, это помогло - тормозов при загрузке не стало, но осталось сообщение об ошибке в логе, так как обращение к LDAP-серверу при запуске осталось в libnss_ldap. Вопрос: почему происходит обращение к LDAP-серверу за именем группы (лог openldap это подтверждает), когда она присутствует в файле /etc/group? Если это ошибка, то это ошибка самого nss-фрейма или libnss_files, а не ошибка nss_ldap. Как следствие, замена nss_ldap на nss-ldapd проблему не решает. Спасибо. С наилучшими пожеланиями, Дмитрий PS. В PAM сначала pam_tcb, а потом - pam_ldap.