Я копал дыры в Google, чтобы найти лучший способ синхронизировать базу данных пользователей между AD и OpenLDAP. Я хочу получить базу данных пользователей в AD, а затем распространить этих пользователей на OpenLDAP, чтобы эти пользователи могли получить доступ ко всем моим приложениям (электронная почта, vpn, файловый сервер, сервер печати, почти все приложения с открытым исходным кодом). Я хочу создать базу данных единого входа, чтобы все пользователи могли иметь одинаковые пароли для приложений на базе Windows и Linux. Я также хочу убедиться, что пароли обновляются двунаправленно. Буду признателен, если кто-нибудь поделится своим опытом о том, как это можно сделать. Спасибо!!
Я сделал это однажды для проекта - удачи! У вас есть административный доступ к серверу AD? вам это может понадобиться. Подружитесь со своим админом AD :-)
Не могли бы вы подробнее рассказать, о чем ваш проект?
Вопрос в том, нужны ли вам просто ваши пользователи / приложения для аутентификации в ActiveDirectory или LDAP, или вам нужно, чтобы ваши приложения получали доступ к данным, хранящимся в ActiveDirectory, и, возможно, дополняли или изменяли записи.
Если вам просто нужно пройти аутентификацию, то, как указал Джастин, вам нужна либо анонимная, либо защищенная паролем (не так много дополнительного значения, IMHO) учетная запись привязки на сервере ActiveDirectory. Поговорите со своим администратором ActiveDirectory.
Если вы хотите использовать содержимое ActiveDirectory в качестве основы для ваших собственных пользовательских записей и, возможно, дополнить или изменить данные, вам может потребоваться настроить собственный сервер LDAP (потому что ваш ИТ-отдел может быть не в восторге от идеи, что вы изменять "свои" записи ...)
ActiveDirectory похож на LDAP и похож, но есть различия в основном в схеме.
Вы столкнетесь с парой проблем:
Я помню, что нашел в AD тонны несовместимых записей, например неправильная организационная структура, записи людей перемешаны с записями о машинах, устройствах, программном обеспечении - тьфу !! и записи людей разбросаны по схеме (не все записи людей находятся только в одном поддереве, как можно было бы ожидать в схеме LDAP)
... быть законченным ...
Если вам просто нужны люди или приложения для аутентификации в каталоге, то, возможно, не стоит проделывать все эти хлопоты - лучше просто использовать AD напрямую через привязанную учетную запись.
Используйте инструменты командной строки openldap, чтобы попытаться аутентифицироваться в ActiveDirectory в командной строке UNIX. Это поможет вам понять процесс и возвращаемые данные.
позвольте мне взглянуть на мои старые заметки по проекту, и я обновлю это
Я надеюсь, это поможет вам
для аутентификации с помощью OpenLDAP вам необходимо знать значения «отличительного имени» (dn) вашей организации, «организационной единицы» (ou), «общего имени» (cn) лица, выполняющего аутентификацию, и т. д. но я не могу дать вам здесь полное вступление ...
Лучше всего прочитать документацию по OpenLDAP здесь: http://www.openldap.org/doc/admin24/
лучше всего запустить "ldapsearch" в командной строке, чтобы проверить и проверить, можете ли вы связать / получить доступ к LDAP. http://www.openldap.org/software/man.cgi?query=ldapsearch&apropos=0&sektion=0&manpath=OpenLDAP+2.0-Release&format=html
или на сайте IBM: http://publib.boulder.ibm.com/infocenter/iseries/v5r3/index.jsp?topic=%2Frzahy%2Frzahyunderdn.htm
Пришлось решить ту же проблему для моей компании.
Будучи ориентированными на Linux, пароль необходимо было синхронизировать между:
Теперь основная проблема заключается в следующем:
Итак, я придумал это: https://github.com/cedric-dufour/upwdchg ; коротко поставил:
Под «родным» методом я имею в виду:
Стоит изучить вариант использования Active Directory для аутентификации и существующего OpenLDAP для авторизации:
http://www.openldap.org/doc/admin24/security.html#Pass-Through%20authentication
Как указано в приведенной выше документации, вы можете делегировать проверку имени пользователя и пароля Kerberos. Фактически, приведенные примеры (см. 14.5.2) показывают, как настроить это для аутентификации в домене AD. Вам нужно будет настроить учетную запись пользователя в Active Directory, которая может связываться с контроллером домена, чтобы выполнять запрос LDAP. У этой учетной записи пользователя не должно быть разрешений на доступ к серверам Windows, а также она не должна входить в какие-либо конфиденциальные группы безопасности.
Надеюсь, это поможет.
Я делал аналогичный проект 2 года назад, и я был в аналогичном положении, не зная, с чего начать и как связать концы вместе.
Шаг 1. Определите, чего вы хотите достичь, и запишите это. Шаг 2: Посмотрите, реалистичны ли требования и могут ли быть выполнены в целом. Если нет, то чем вы готовы пожертвовать. (На это уходит много времени). Шаг 3: Выберите платформу для LDAP. в вашем случае у вас уже есть существующий. Шаг 4: Документирование и тестирование. Шаг 5: План перехода наиболее важен, поскольку не имеет значения, выполнили ли вы все, что хотели, но также и чтобы обеспечить плавный переход. В моем случае приходилось делать поэтапно.
Из ваших комментариев выше похоже, что у вас уже есть Openldap в производстве. Ваши требования выглядят так:
а) Разрешение пользователям использовать ту же политику паролей в AD.
б) Учетные записи пользователей для автоматического распространения на LDAP.
Ответ на а) Вы можете настроить модуль сквозной передачи PAM в LDAP для делегирования парольной аутентификации контроллеру домена через Kerberos. Таким образом, у вас не будет головной боли с сохранением пароля в двух местах. Я сделал это на 389-DS LDAP, и ссылки на документацию должно быть достаточно. Когда пользователь аутентифицируется, модуль PAM проверяет, существует ли учетная запись пользователя в LDAP, и если да, передает passwd в стек PAM с krb5.so для аутентификации. Ознакомьтесь с документацией 389-DS, которая также должна применяться здесь.
Ответ на б) Я нажал на все цилиндры, чтобы найти способ использовать готовый раствор, но ничего не подошло. Это потому, что вам нужно массировать схему для учетных записей и групп. Поэтому я с помощью коллеги написал сценарий на Perl для синхронизации пользователей и групп из AD в LDAP. Фрагмент кода f Вот.