<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/css" href="http://wiki2.linuxformat.ru/skins/common/feed.css?97"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
	<channel>
		<title>LXF144:LDAP - История изменений</title>
		<link>http://wiki2.linuxformat.ru/index.php?title=LXF144:LDAP&amp;action=history</link>
		<description>История изменений этой страницы в вики</description>
		<language>ru</language>
		<generator>MediaWiki 1.11.1</generator>
		<lastBuildDate>Wed, 13 May 2026 20:58:31 GMT</lastBuildDate>
		<item>
			<title>Crazy Rebel: викификация, оформление, иллюстрация</title>
			<link>http://wiki2.linuxformat.ru/index.php?title=LXF144:LDAP&amp;diff=14612&amp;oldid=prev</link>
			<description>&lt;p&gt;викификация, оформление, иллюстрация&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая статья&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Службы с LDAP-аутентификацией==&lt;br /&gt;
&lt;br /&gt;
: '''Андрей Андреев''' продолжает рассказ об ''OpenLDAP'' как альтернативе ''Active Directory''. Сегодня речь пойдет об интеграции с ним базовых сетевых служб.&lt;br /&gt;
&lt;br /&gt;
В [[LXF142:OpenLDAP|прошлой статье]] мы рассматривали вопросы, касающиеся первоначальной установки и настройки службы каталогов ''OpenLDAP'' в дистрибутиве CentOS, а также базовые понятия о службах каталогов.Теперь, с учетом сказанного и описанного ранее, можно приступать к более детальному изучению возможностей использования служб каталогов. Под более детальным рассмотрением подразумевается использование различных служб/сервисов, которые будут использовать для своей работы информацию, хранящуюся в ''OpenLDAP''.&lt;br /&gt;
&lt;br /&gt;
Первоначально следует определиться с набором служб/сервисов, которые мы хотим интегрировать c ''OpenLDAP''.&lt;br /&gt;
&lt;br /&gt;
'''Сервисы/службы''':&lt;br /&gt;
* Прокси-сервер&lt;br /&gt;
* Файловый сервер&lt;br /&gt;
* Почтовый сервер&lt;br /&gt;
* Аутентификация&lt;br /&gt;
&lt;br /&gt;
Это только часть списка служб, способных работать с протоколом LDAP. Для реализации их работы определим набор пакетов.&lt;br /&gt;
&lt;br /&gt;
'''Пакеты''':&lt;br /&gt;
* ''Squid''&lt;br /&gt;
* ''Samba + smbldap-tools''&lt;br /&gt;
* ''Postfix + Dovecot''&lt;br /&gt;
* ''PAM''&lt;br /&gt;
&lt;br /&gt;
В данной статье будет рассматриваться установка и настройка перечисленных пакетов на Ubuntu Server 10.04.02 LTS. Это связано с тем, что процесс установки и настройки службы каталогов в Ubuntu Server отличается от тех же манипуляций в CentOS, Debian или Fedora.&lt;br /&gt;
&lt;br /&gt;
Перво-наперво, в Ubuntu нет конфигурационного файла '''slapd.conf''' ''OpenLDAP''. Вся настройка производится динамически командой ''ldapadd''. Установка же выполняется следующей командой:&lt;br /&gt;
&lt;br /&gt;
 apt-get install slapd ldap-utils&lt;br /&gt;
&lt;br /&gt;
Команды для установки и пример настройки службы каталогов ''OpenLDAP'' приводятся в скрипте на диске; вы можете взглянуть на них на досуге. А мы сразу же перейдем к рассмотрению прокси-сервера.&lt;br /&gt;
&lt;br /&gt;
===''Squid''===&lt;br /&gt;
&lt;br /&gt;
''Squid'' – кэширующий прокси-сервер, работающий по протоколам HTTP и FTP, Gopfer. Имеет возможность взаимодействия со службой каталогов путем аутентификации через LDAP, что позволяет разграничить доступ к интернет-ресурсам пользователей, которые имеют учетные записи; также позволяет организовать «нарезку» интернет-трафика для различных пользователей.&lt;br /&gt;
&lt;br /&gt;
Установка его выполняется так:&lt;br /&gt;
&lt;br /&gt;
 apt-get install squid&lt;br /&gt;
&lt;br /&gt;
Из всех служб проще всего настроить именно эту. Основной конфигурационный файл – '''/etc/squid/squid.conf'''. Для использования аутентификации через LDAP в основном конфигурационном файле достаточно расскоментировать строку '''auth_param basic program''', указать параметры LDAP-сервера и добавить правило ('''acl''') с разрешением доступа к ресурсу.&lt;br /&gt;
&lt;br /&gt;
 auth_param basic program /usr/lib/squid/squid_ldap_auth -v 3 -b&lt;br /&gt;
 “dc=yourcompany,dc=com” -D uid=squid,dc=example,dc=com -w&lt;br /&gt;
 password -f uid=%s ldap.example.com&lt;br /&gt;
 acl ldap-auth proxy_auth REQUIRED&lt;br /&gt;
 http_access allow ldap-auth&lt;br /&gt;
 http_access allow localhost&lt;br /&gt;
 http_access deny all&lt;br /&gt;
&lt;br /&gt;
Здесь мы указали, что будем использовать модуль ''squid_ldap_auth'' с параметрами:&lt;br /&gt;
: '''-v''' – версия протокола LDAP.&lt;br /&gt;
: '''-b''' – ветка дерева каталога с которой начнется поиск пользователя.&lt;br /&gt;
: '''-D''' – пользователь, который будет осуществлять поиск записей (рекомендуется создать для каждой службы своего пользователя).&lt;br /&gt;
: '''-w''' – пароль пользователя для доступа к дереву каталога.&lt;br /&gt;
: '''-f''' – «шаблон» поиска.&lt;br /&gt;
: ldap.example.com – имя хоста LDAP-cервера.&lt;br /&gt;
&lt;br /&gt;
Если мы не хотим разрешать доступ к прокси всем пользователям, записанным в службе каталогов, можно создать собственную схему с атрибутом и объектным классом, указывающие на то, что данный пользователь имеет доступ к прокси.&lt;br /&gt;
&lt;br /&gt;
Наша схема '''/etc/openldap/schema/squid.schema''' будет выглядеть примерно так:&lt;br /&gt;
&lt;br /&gt;
 attributetype ( 1.3.6.1.4.1.1000.1 NAME 'ProxyAccess'&lt;br /&gt;
 DESC 'Proxy Access'&lt;br /&gt;
 EQUALITY booleanMatch&lt;br /&gt;
   SYNTAX 1.3.6.1.4.1.1466.115.121.1.7)&lt;br /&gt;
 objectclass ( 1.3.6.1.4.1.1000.200 NAME 'SquidAccess'&lt;br /&gt;
   DESC 'Access to Squid Proxy'&lt;br /&gt;
   SUP top AUXILIARY&lt;br /&gt;
   MUST ProxyAccess )&lt;br /&gt;
&lt;br /&gt;
В схеме определен один атрибут с именем “'''ProxyAcces'''” и типом '''booleanMatch''' – то есть атрибут может принимать значения либо TRUE, либо FALSE. Также в схеме описан объектный класс “'''SquidAccess'''” с обязательным атрибутом “'''ProxyAccess'''”. С учетом схемы, строка с модулем ''squid_ldap_auth'' будет выглядеть так:&lt;br /&gt;
&lt;br /&gt;
 auth_param basic program /usr/lib/squid/squid_ldap_auth -v 3 -b&lt;br /&gt;
 “dc=yourcompany,dc=com” -D uid=squid,dc=example,dc=com -w&lt;br /&gt;
 password -f (&amp;amp;(ProxyAccess=TRUE)(uid=%s)) ldap.example.com&lt;br /&gt;
&lt;br /&gt;
Теперь доступ к прокси будут иметь только те пользователи, у которых есть атрибут '''ProxyAccess''' со значением '''TRUE'''.&lt;br /&gt;
&lt;br /&gt;
===''Samba''===&lt;br /&gt;
&lt;br /&gt;
{{Врезка|Заголовок=Скорая помощь|Содержание=Ресурсы, которые могут пригодиться – http://smb-conf.ru и http://samba.org.|Ширина=200px}}&lt;br /&gt;
&lt;br /&gt;
''Samba'' – свободное программное обеспечение, реализующее сетевой протокол SMB/CIFS. Samba может выступать в роли основного контроллера домена (PDC), либо члена уже существующего домена. Она также может быть частью домена ''Active Directory''. Основной конфигурационный файл – '''/etc/samba/smb.conf'''. Для простоты настройки будем использовать пакет ''smbldap-tools''.&lt;br /&gt;
&lt;br /&gt;
Установка делается командой:&lt;br /&gt;
&lt;br /&gt;
 apt-get install samba samba-doc smbldap-tools&lt;br /&gt;
&lt;br /&gt;
Для работы ''Samba'' c LDAP в основном конфигурационном файле необходимо указать следующие параметры LDAP-сервера:&lt;br /&gt;
&lt;br /&gt;
 passdb backend = ldapsam:ldap://localhost&lt;br /&gt;
 ldap suffix = dc=example,dc=com&lt;br /&gt;
 ldap user suffix = ou=People&lt;br /&gt;
 ldap group suffix = ou=Groups&lt;br /&gt;
 ldap machine suffix = ou=Computers&lt;br /&gt;
 ldap idmap suffix = ou=Idmap&lt;br /&gt;
 ldap admin dn = cn=Manager,dc=example,dc=com&lt;br /&gt;
 ldap ssl = off&lt;br /&gt;
 ldap passwd sync = yes&lt;br /&gt;
 ldap delete dn = no&lt;br /&gt;
&lt;br /&gt;
Еще понадобится настроить ''smbldap-tools''. Настройка проста. &lt;br /&gt;
&lt;br /&gt;
Распаковываем специально подготовленный скрипт:&lt;br /&gt;
&lt;br /&gt;
 gzip -d /usr/share/doc/smbldap-tools/configure.pl.gz&lt;br /&gt;
&lt;br /&gt;
Запускаем его и отвечаем на вопросы&lt;br /&gt;
&lt;br /&gt;
 perl /usr/share/doc/smbldap-tools/configure.pl&lt;br /&gt;
&lt;br /&gt;
Далее, в вашем любимом редакторе можно открыть конфигурационный файл '''sambaldap.conf''' и проверить его правильность.&lt;br /&gt;
&lt;br /&gt;
 vim /etc/smbldap-tools/sambaldap.conf&lt;br /&gt;
&lt;br /&gt;
Для корректной работы сервера нам понадобится узнать его локальный идентификатор безопасности (SID, Security Identifier); для этого выполним&lt;br /&gt;
&lt;br /&gt;
 net getlocalsid ldap&lt;br /&gt;
&lt;br /&gt;
где '''ldap''' – имя хоста с установленными пакетами ''samba''. Полученный SID следует записать в конфигурационный файл ''smbldap-tools'' – '''/etc/smbldap-tools/sambaldap.conf'''.&lt;br /&gt;
&lt;br /&gt;
Теперь можно приступать к созданию начальной структуры каталога, и для этого мы воспользуемся командами ''smbldap-populate'' и ''ldapadd''.&lt;br /&gt;
&lt;br /&gt;
 smbldap-populate -a admin -e /etc/ldap/sambadb.ldif&lt;br /&gt;
 ldapadd -x -D cn=Manager,dc=example,dc=com -w secret -f sambadb.ldif&lt;br /&gt;
&lt;br /&gt;
После выполнения команд в службе каталогов ''OpenLDAP'' будут храниться записи о корневом элементе (dc=example, dc=com), группах (Domain Admins, Domain Users, Computers и т.д.), пользователях (nobody, admin) и запись '''sambaDomainName'''.&lt;br /&gt;
&lt;br /&gt;
Для задания пароля пользователю существует команда ''smbldap-passwd'', и т.к. в начальной структуре каталога записи о паролях отсутствуют, самое время их создать.&lt;br /&gt;
&lt;br /&gt;
 smbldap-passwd -a admin&lt;br /&gt;
&lt;br /&gt;
Для добавления пользователей удобно воспользоваться командой ''smbldap-useradd'':&lt;br /&gt;
&lt;br /&gt;
 smbldap-useradd -a -P User&lt;br /&gt;
&lt;br /&gt;
На этом этап настройки ''smbldap-tools'' закончен; переходим к ''samba''.&lt;br /&gt;
&lt;br /&gt;
Сохраним резервную копию основного конфигурационного файла '''/etc/samba/smb.conf'''.&lt;br /&gt;
&lt;br /&gt;
 cp /etc/samba/smb.conf /etc/samba/smb.conf.backup&lt;br /&gt;
&lt;br /&gt;
Теперь укажем в файле '''/etc/samba/smb.conf''' параметры LDAP, параметры домена и расширенные ресурсы. Все конфигурационные файлы и команды, необходимые для настройки, расположены в скрипте ''ubuntu_ldap.sh'' на диске; здесь приводятся только основные фрагменты файла '''/etc/samba/smb.conf'''.&lt;br /&gt;
&lt;br /&gt;
 [global]&lt;br /&gt;
 server string = SAMBA PDC&lt;br /&gt;
 workgroup = EXAMPLE&lt;br /&gt;
 netbios name = LDAP&lt;br /&gt;
 passdb backend = ldapsam:ldap://localhost&lt;br /&gt;
 security = user&lt;br /&gt;
 domain master = yes&lt;br /&gt;
 admin users = admin&lt;br /&gt;
 socket options = SO_KEEPALIVE IPTOS_LOWDELAY TCP_NODELAY SO_RCVBUF=16384 SO_SNDBUF=16384&lt;br /&gt;
 wins support = yes&lt;br /&gt;
 wins proxy = yes&lt;br /&gt;
 name resolve order = wins hosts bcast lmhosts&lt;br /&gt;
 wide links = yes&lt;br /&gt;
 idmap uid = 10000-20000&lt;br /&gt;
 idmap gid = 10000-20000&lt;br /&gt;
 ldap suffix = dc=example,dc=com&lt;br /&gt;
 ldap user suffix = ou=People&lt;br /&gt;
 ldap group suffix = ou=Groups&lt;br /&gt;
 ldap machine suffix = ou=Computers&lt;br /&gt;
 ldap idmap suffix = ou=Idmap&lt;br /&gt;
 ldap admin dn = cn=admin,dc=sapr,dc=guap,dc=spb,dc=ru&lt;br /&gt;
 ldap ssl = off&lt;br /&gt;
 ldap passwd sync = yes&lt;br /&gt;
 ldap delete dn = no&lt;br /&gt;
 add machine script = sudo /usr/sbin/smbldap-useradd -t 0 -w “%u”&lt;br /&gt;
 passwd program = /usr/sbin/smbldap-passwd %u&lt;br /&gt;
 passwd chat = *New*password* %n\n *Retype*new*password* %n\n *all*authentication*tokens*updated*&lt;br /&gt;
 domain logons = yes&lt;br /&gt;
 ##=========Шары========================&lt;br /&gt;
 [homes]&lt;br /&gt;
 comment = Home Directories&lt;br /&gt;
 browseable = yes&lt;br /&gt;
 valid users = %S&lt;br /&gt;
 writable = yes&lt;br /&gt;
&lt;br /&gt;
В данном конфигурационном скрипте мы указали на то, что ''samba'' будет использовать протокол LDAP, а за добавление пользователей и проверку пароля будет отвечать ''smbldap-tools''. Так же указаны администратор ''samba'' – пользователь ''admin'' (локальный пользователь, который будет перенесен в службу каталогов) и параметры, необходимые для работы.&lt;br /&gt;
&lt;br /&gt;
Перезапускаем службу ''smbd'':&lt;br /&gt;
&lt;br /&gt;
 service smbd restart&lt;br /&gt;
&lt;br /&gt;
Для работы связки ''Samba'' и LDAP необходимо указать пароль администратора службы каталогов (rootdn) и администратора ''Samba'':&lt;br /&gt;
&lt;br /&gt;
 smbpasswd -w secret&lt;br /&gt;
 smbpasswd -a admin&lt;br /&gt;
&lt;br /&gt;
Перезапускаем службу ''nmbd'' и проверяем список групп:&lt;br /&gt;
&lt;br /&gt;
 service nmbd restart&lt;br /&gt;
 net groupmap list&lt;br /&gt;
&lt;br /&gt;
Результатом выполнения команды является список групп домена (Domain Admins, Domain Users, Computers и т.д). Для работы пользователю '''admin''' следует дать права администратора домена.&lt;br /&gt;
&lt;br /&gt;
 net rpc rights grant “Domain Admins” SeMachineAccountPrivilege&lt;br /&gt;
 SeTakeOwnershipPrivilege \&lt;br /&gt;
 SeBackupPrivilege SeRestorePrivilege&lt;br /&gt;
 SeRemoteShutdownPrivilege SePrintOperatorPrivilege \&lt;br /&gt;
 SeAddUsersPrivilege SeDiskOperatorPrivilege -U admin%123456&lt;br /&gt;
&lt;br /&gt;
Финальный штрих – вводим наш сервер в домен:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Почтовый сервер===&lt;br /&gt;
&lt;br /&gt;
====''Postfix''====&lt;br /&gt;
&lt;br /&gt;
{{Врезка|Содержание=[[Изображение:LXF144_46_1.jpg|300px]] Работа почтового сервиса на основе ''Postfix'' и ''Dovecot''.|Ширина=300px}}&lt;br /&gt;
&lt;br /&gt;
''Postfix'' – это агент передачи сообщений (MTA, message transport agent), который занимается пересылкой по протоколу SMTP сообщений от пользовательского почтового агента (MUA, mail user agent), называемого также почтовым клиентом, к удаленному почтовому серверу.&lt;br /&gt;
&lt;br /&gt;
MTA также принимает сообщения от удаленных почтовых серверов и пересылает их другим MTA или доставляет в локальные почтовые ящики. Переслав или доставив сообщение, ''Postfix'' заканчивает свою работу. За доставку сообщения конечному пользователю отвечают другие серверы. Например, такие MTA, как серверы POP3 или IMAP, передают сообщения почтовым клиентам – ''Mutt, Outlook'' или ''Apple Mail'', с помощью которых пользователь может прочитать их.&lt;br /&gt;
&lt;br /&gt;
С точки зрения современного взгляда на задачу передачи и обработки сообщений ''Postfix'' представляет собой самую сердцевину комплекса почтового ПО.&lt;br /&gt;
&lt;br /&gt;
Убедитесь, что порт '''25 TCP''' на вашем сервере ничем не заблокирован. Если у вас установлен межсетевой экран, убедитесь, что его политика разрешает входящие и исходящие соединения с портом '''25'''.&lt;br /&gt;
&lt;br /&gt;
Причина, по которой порт '''25 TCP''' должен быть открыт, заключается в том, что ''Postfix'' и другие почтовые серверы прослушивают его в ожидании соединений. Этот порт официально назначен для SMTP агентством IANA (полный список доступен по адресу http://www.iana.org/assignments/port-numbers). Организация IANA является главным регистратором нумерации  интернет-протоколах, распределяющим номера портов, протоколов, компаний, параметров, кодов и типов.&lt;br /&gt;
&lt;br /&gt;
Установка – все тем же манером:&lt;br /&gt;
&lt;br /&gt;
 apt-get install postfix&lt;br /&gt;
&lt;br /&gt;
Основные конфигурационные файлы, которые мы будем использовать – '''/etc/postfix/main.cf, /etc/postfix/master.cf'''.&lt;br /&gt;
&lt;br /&gt;
Как и во всех службах, здесь нам надо указать способы аутентификации. В нашем случае это LDAP. Для этого в файле '''/etc/postfix/main.cf''' пропишем строки &lt;br /&gt;
&lt;br /&gt;
 local_recipient_maps = $alias_maps, ldap:/etc/postfix/ldap-users.cf&lt;br /&gt;
 virtual_alias_maps = ldap:/etc/postfix/ldap-aliases.cf&lt;br /&gt;
&lt;br /&gt;
А параметры аутентификации LDAP мы укажем в файлах '''ldapusers.cf''' и '''ldap-aliases.cf'''.&lt;br /&gt;
&lt;br /&gt;
Файл '''/etc/postfix/ldap-users.cf''' содержит&lt;br /&gt;
&lt;br /&gt;
 server_host = ldap.lw.lan&lt;br /&gt;
 search_base = dc=lw,dc=lan&lt;br /&gt;
 server_port = 389&lt;br /&gt;
 bind = yes&lt;br /&gt;
 bind_dn = cn=Manager,dc=lw,dc=lan&lt;br /&gt;
 bind_pw = secret&lt;br /&gt;
 query_filter = (mail=%s)&lt;br /&gt;
&lt;br /&gt;
Содержимое файла '''/etc/postfix/ldap-aliases.cf''':&lt;br /&gt;
&lt;br /&gt;
 server_host = ldap.lw.lan&lt;br /&gt;
 search_base = dc=lw,dc=lan&lt;br /&gt;
 server_port = 389&lt;br /&gt;
 bind = yes&lt;br /&gt;
 bind_dn = cn=Manager,dc=lw,dc=lan&lt;br /&gt;
 bind_pw = secret&lt;br /&gt;
 query_filter = (mail=%s)&lt;br /&gt;
 result_attribute = mail&lt;br /&gt;
 special_result_filter = %s@%d&lt;br /&gt;
&lt;br /&gt;
Файлы содержат стандартные параметры работы с ''OpenLDAP''. В '''/etc/postfix/ldap-users.cf''' описываем параметры пользователей, а именно, фильтр поиска пользователей – атрибут '''mail'''. Файл '''/etc/postfix/ldap-aliases.cf''' содержит параметры для доставки почты; в нем указывается, что почту нужно доставлять на почтовый адрес, указанный в атрибуте '''mail'''.&lt;br /&gt;
&lt;br /&gt;
====''Dovecot''====&lt;br /&gt;
&lt;br /&gt;
{{Врезка|Заголовок=Скорая помощь|Содержание=Ресурсы, которые могут пригодиться – http://wiki1.dovecot.org.|Ширина=200px}}&lt;br /&gt;
&lt;br /&gt;
Так как мы собираемся не только отправлять почту, но и принимать ее, для создания почтового сервера нам понадобится ''Dovecot''.&lt;br /&gt;
&lt;br /&gt;
''Dovecot'' – свободный IMAP- и POP3-сервер, разрабатываемый в расчете на безопасность, гибкость настройки и быстродействие. Первый релиз состоялся в 2002 году. Основные особенности сервера:&lt;br /&gt;
* Поддержка форматов почтовых ящиков mbox и Maildir, а также собственные форматы dbox и Cydir.&lt;br /&gt;
* Высокое быстродействие, благодаря индексации содержимого ящиков.&lt;br /&gt;
* Большое количество поддерживаемых механизмов хранения аутентификационной информации (включая LDAP) и самой аутентификации (поддерживается SSL).&lt;br /&gt;
* Собственная реализация SASL. ''Postfix'' 2.3+ и ''Exim'' 4.64+ могут аутентифицироваться напрямую через ''Dovecot''.&lt;br /&gt;
* Полная поддержка IMAP ACL для гибкой настройки прав пользователей.&lt;br /&gt;
* Поддержка общих ящиков и папок [shared mailboxes and folders].&lt;br /&gt;
* Расширяемость при помощи плагинов.&lt;br /&gt;
* Собственный MDA с поддержкой Sieve.&lt;br /&gt;
* Строгое следование стандартам: ''Dovecot'' – один из немногих, кто проходит тест на соответствие всем стандартам IMAP.&lt;br /&gt;
* Возможность модификации индексов с нескольких компьютеров, что позволяет ему работать с NFS и кластерными файловыми системами.&lt;br /&gt;
* Поддерживает различные виды квот.&lt;br /&gt;
* Поддержка различных ОС: Linux, Solaris, FreeBSD, OpenBSD, NetBSD и Mac OS X.&lt;br /&gt;
* Простота настройки.&lt;br /&gt;
&lt;br /&gt;
Установка:&lt;br /&gt;
&lt;br /&gt;
 apt-get install dovecot&lt;br /&gt;
&lt;br /&gt;
Основной конфигурационный файл – ''/etc/dovecot.conf''. В нем необходимо найти секцию, описывающую способы аутентификации – '''auth default''', где надо расскомментировать строки, связанные с LDAP.&lt;br /&gt;
&lt;br /&gt;
 auth default {&lt;br /&gt;
  mechanisms = plain&lt;br /&gt;
 passdb ldap {&lt;br /&gt;
  args = /etc/dovecot-ldap.conf&lt;br /&gt;
 }&lt;br /&gt;
 userdb ldap {&lt;br /&gt;
  args = /etc/dovecot-ldap.conf&lt;br /&gt;
 }&lt;br /&gt;
 user = root&lt;br /&gt;
 ssl_require_client_cert = no&lt;br /&gt;
 ssl_username_from_cert = no&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Здесь мы указали некий файл '''/etc/dovecot-ldap.conf'''. Что же хранится в этом файле?&lt;br /&gt;
 &lt;br /&gt;
 hosts = ldap.example.com&lt;br /&gt;
 dn = cn=Manager,dc=example,dc=com&lt;br /&gt;
 dnpass = secret&lt;br /&gt;
 ldap_version = 3&lt;br /&gt;
 base = dc=example,dc=com&lt;br /&gt;
 deref = never&lt;br /&gt;
 scope = subtree&lt;br /&gt;
 user_filter = (uid=%u)&lt;br /&gt;
 pass_filter = (&amp;amp;(objectClass=posixAccount)(uid=%u))&lt;br /&gt;
 default_pass_scheme = CRYPT&lt;br /&gt;
&lt;br /&gt;
Как вы можете заключить по содержанию файла, в нем хранятся параметры подключения к LDAP-серверу, описание которых мы уже приводили выше, и фильтры поиска записей. Итак, почтовый сервер готов; можно начинать проверять его работу, принцип которой был проиллюстрирован рисунком на предыдущей странице.&lt;br /&gt;
&lt;br /&gt;
===''PAM''===&lt;br /&gt;
&lt;br /&gt;
{{Врезка|Содержание=[[Изображение:LXF144_47_1.jpg|300px]] PAM перенаправляет запросы аутентификации разных служб к серверу LDAP.|Ширина=300px}}&lt;br /&gt;
&lt;br /&gt;
Pluggable Authentication Modules (PAM, подключаемые модули аутентификации) – это набор разделяемых библиотек, дающих возможность интегрировать различные низкоуровневые методы аутентификации в виде единого высокоуровневого API. Это позволяет предоставить единые механизмы для управления, встраивания прикладных программ в процесс аутентификации. Данный механизм является одной из частей стандартного механизма обеспечения безопасности UNIX-систем.&lt;br /&gt;
&lt;br /&gt;
Здесь необходимо указать, что наша система будет проходить аутентификацию по протоколу LDAP, обращаясь за данными к службе каталогов ''OpenLDAP''.&lt;br /&gt;
&lt;br /&gt;
Установка и конфигурирование:&lt;br /&gt;
&lt;br /&gt;
 apt-get install libnss-ldap&lt;br /&gt;
 auth-client-config -t nss -p lac_ldap&lt;br /&gt;
 pam-auth-update&lt;br /&gt;
&lt;br /&gt;
Желательно после выполнения настройки PAM выполнить команду ''reboot''.&lt;br /&gt;
&lt;br /&gt;
===LDAP­-сервер===&lt;br /&gt;
&lt;br /&gt;
На данном этапе наш сервер готов к работе, выполняя роль прокси-сервера, файлового сервера, почтового сервера. Не хватает одного: базы пользователей. Если сервер делается с нуля, то всех пользователей легко и просто задать через графическую систему управления ''GOsa''. Если же сервер является заменой ''Active Directory'' (AD), то надо бы выполнить миграцию пользователей. Об этом наш следующий пункт.&lt;br /&gt;
&lt;br /&gt;
====''Active Directory''====&lt;br /&gt;
&lt;br /&gt;
А что же с ''Active Directory''? Самое время подумать об этом. Имея настроенный сервер LDAP и ''Samba'', можно выполнить миграцию пользователей AD. Примем за основу настройки ''Samba'', приведенные выше в пункте ''Samba'', и изменим их.&lt;br /&gt;
&lt;br /&gt;
Самое главное – это SID’ы. Если ранее мы использовали локальный SID, то теперь для корректной работы файлового сервера нам понадобится SID сервера с AD.&lt;br /&gt;
&lt;br /&gt;
 net rpc getsid -S DOMAIN -U Administrator%password&lt;br /&gt;
&lt;br /&gt;
Полученный SID запишем в '''/etc/smbldap-tools/sambaldap.conf'''.&lt;br /&gt;
&lt;br /&gt;
В начале нужно перевести Samba из режима PDC (Primary Domain Controller) в BDC (Backup Domain Controller). За это отвечает параметр '''domain master''', значение которого “'''yes'''” для PDC и “'''no'''” для BDC. Изменим его значение на “'''no'''”. Основные изменения закончены. Теперь введем наш сервер в домен AD:&lt;br /&gt;
&lt;br /&gt;
 net ads join -U Administrator%password&lt;br /&gt;
&lt;br /&gt;
Можно приступать к миграции пользователей. Для этого выполним команду&lt;br /&gt;
&lt;br /&gt;
 net rpc vampire&lt;br /&gt;
&lt;br /&gt;
Данная команда выполнит миграцию пользователей AD и запись данных в LDAP-сервер. Если же вы не хотите добавлять все записи или есть необходимость отредактировать их, то вам следует сделать запись в '''ldif'''-файл. Поcле редактирования останется только добавить содержимое файла в ''OpenLDAP''.&lt;br /&gt;
&lt;br /&gt;
 net rpc vampire ldif filename.ldif&lt;br /&gt;
 ldapadd -Y EXTERNAL -H ldapi:/// -f filename.ldif&lt;br /&gt;
&lt;br /&gt;
===Итог===&lt;br /&gt;
&lt;br /&gt;
В результате мы имеем серверное решение, не уступающее проприетарному, а возможно, и превосходящее его.&lt;br /&gt;
&lt;br /&gt;
'''Плюсы''':&lt;br /&gt;
* Полностью свободное ПО.&lt;br /&gt;
* Неограниченный функционал, т.е. администратор способен настроить службы так, как это ему необходимо, а по возможности и расширить данное решение.&lt;br /&gt;
&lt;br /&gt;
'''Минусы''':&lt;br /&gt;
* Минус один, но в общем решаемый! На данном этапе не реализован механизм групповых политик.&lt;br /&gt;
&lt;br /&gt;
Для решения этой задачи можно воспользоваться репозиторием ''Samba 4'', которая сейчас находится в стадии бета-тестирования. Но пока никто не выдаст вам гарантии того, что после обновления файлового сервера все будет работать так, как положено. Поэтому придется дожидаться появления очередного релиза.&lt;/div&gt;</description>
			<pubDate>Fri, 25 Jan 2013 08:19:32 GMT</pubDate>			<dc:creator>Crazy Rebel</dc:creator>			<comments>http://wiki2.linuxformat.ru/index.php/%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5:LXF144:LDAP</comments>		</item>
	</channel>
</rss>