Среди администраторов Unix-систем трудно найти человека, который не слышал бы о LDAP и наиболее известной и распространённой его реализации — OpenLDAP. Чаще всего это звучит так: "Слышал, есть такая штука, на ней можно построить SSO или адресную книгу, но сам не пробовал, почитай там-то". Есть и такие, кто пробовал, что-то читал, но нашёл всё это чересчур сложным и бросил. Кто-то оказался более настойчивым, довёл дело до ума, запустил рабочий каталог, построил на нём систему аутентификации и интегрировал какие-то службы. Наконец, самые трудолюбивые и небезразличные описали свой труд и выложили материалы в Интернет для потомков.
Вот тут, пожалуй, и начинается самое интересное. С ростом Интернета количество действительно хороших материалов в нём, увы, сокращается. Тому, конечно же, есть объективные причины: постоянное развитие информационных технологий требует от администраторов постоянного наращивания количества знаний, а это поглощает практически всё их время, а ведь надо ещё и экспериментировать и внедрять эти знания, да и рутины никто не отменял. Поэтому пережитком прошлого стали даже приличные HOWTO, не говоря уже о фундаментальных исследованиях в какой-либо сфере — на такое сейчас способны лишь профессиональные писатели, спонсируемые той или иной коммерческой организацией. Администраторам же, в лучшем случае, хватает времени лишь на то, чтобы черкнуть пару абзацев в блог о какой-нибудь найденной "фиче" или "баге", да помочь кому-нибудь на форуме.
Налицо замкнутый круг: более-менее полные публикации и HOWTO, которые можно найти в Интернете, написаны пять, десять, а то и более лет назад, и, конечно, уже далеко не так актуальны, как в момент написания, а новые материалы такого уровня попросту не появляются. Если брать OpenLDAP, то практически все HOWTO по настройке и интеграции с теми или иными службами датированы 2006 годом и ранее, и, конечно, в них нет никакого упоминания о современном методе конфигурации OpenLDAP — cn=config
. С другой стороны, современные HOWTO, хоть и затрагивают эту тему, но оставляют впечатление, что автор не слишком-то углублялся в процесс — получилось, ну и ладно.
Есть и другой аспект — в публикациях освещается решение какой-то конкретной прикладной задачи, чаще всего интеграция простого каталога с какой-либо службой Unix, либо репликация двух (реже нескольких) каталогов. Но ведь этим сфера применения OpenLDAP не ограничивается. Практически нигде не найти информации об аутентификации и авторизации SASL, о применении механизмов манипуляции данными, отличных от back_mdb или back_bdb, а о наложениях (кроме syncrepl) мы порой и не подозреваем.
Конечно, вместить всё, о чём хочется рассказать, в одну статью или даже серию статей, невозможно. Поэтому и возникла идея написать книгу или книжку — как получится. Резонный вопрос: откуда возьмётся время у нас? Не знаем. Но начало, как известно, — половина дела, а оно уже положено, так что будем продолжать, а там — как Бог даст. Парни из ZyTrax писали свою книгу почти 20 лет и до сих пор пишут, чем мы хуже?
В этой книге речь пойдёт о том, как работать с OpenLDAP, как настраивать его с помощью конфигурационного каталога cn=config
. Сначала мы сделаем обзор способов конфигурации, затем опишем установку OpenLDAP в различных дистрибутивах операционных систем. Наконец, расскажем как "с нуля" проинициализировать и начать работу с конфигурационным каталогом cn=config
(пожалуй, самый животрепещущий вопрос у начинающих администраторов OpenLDAP). Дальше, вероятнее всего, опишем различные варианты репликации syncrepl, работу с сертификатами TLS, аутентификацию SASL и другие вопросы, точного плана пока нет. Все материалы будут размещаться после детальной проверки "на макете" и актуализироваться по мере необходимости.
В тех случаях, когда будут иметь место специфичные для дистрибутива операционной системы параметры (такие как система управления пакетами, расположение директорий файловой системы и т.д.), мы будем приводить примеры для двух вариантов Linux: Ubuntu и Gentoo. Выбор именно этих дистрибутивов объясняется просто — они под рукой и всегда есть возможность провести эксперименты. Если кто-то хочет дополнить примеры сведениями, специфичными для своего любимого дистрибутива — милости просим, свяжитесь с нами, обговорим детали.
Мы не будем рассматривать вариант настройки OpenLDAP с помощью конфигурационного файла slapd.conf
(лишь немного поговорим о нём в первичном обзоре). Во-первых, об этом и так уже много написано, а во-вторых, нужно привыкать к правильному способу настройки, коим на данный момент является cn=config
. А ещё здесь не пойдёт речь об интеграции OpenLDAP с какой бы то ни было службой Unix. Вероятнее всего, мы рассмотрим оба этих вопроса в одной из последующих книг.