Авторизация в Openmeetings с учетной записью Active Directory Так как Openmeetings напрямую к AD не прикручивается, действовать будем через OpenLDAP. Итак. Ставим из портов OpenLDAP Server версии не ниже 2.3, так как более младшие версии не могут прозрачно передавать неизвестную схему. Приводим slapd.conf к следующему виду: Code: include /usr/local/etc/openldap/schema/core.schema include /usr/local/etc/openldap/schema/cosine.schema include /usr/local/etc/openldap/schema/inetorgperson.schema include /usr/local/etc/openldap/schema/nis.schema allow bind_v2 pidfile /var/run/openldap/slapd.pid argsfile /var/run/openldap/slapd.args logfile /var/log/slapd.log LogLevel -1 #Нужно для отладки. С этим значением slapd пишет в логи всё что можно. modulepath /usr/local/libexec/openldap #Путь к модулям moduleload back_bdb # moduleload back_hdb moduleload back_ldap Простой вариант привязки к AD. Подразумевается что все пользователи находятся в подразделении Users. Code: database ldap uri «ldap://server.domain1.exemple.com» # Контроллер домена AD suffix «cn=Users,dc=domain1,dc=exemple,dc=com» # DN подразделения, откуда будем брать пользователей. subordinate rebind-as-user chase-referrals yes database bdb # База данных, которую мы создаём в OpenLDAP suffix «dc=domain,dc=exemple,dc=com» rootdn «cn=user,dc=domain1,dc=exemple,dc=com» #Администратор базы на сервере OpenLDAP rootpw «password» directory /var/db/openldap-data Более сложный вариант. C учётом что пользователи раскиданы по разным OU. Code: #Организационная единица Administrators database ldap uri «ldap://server.domain2.teach.local» # Контроллер второго домена suffix «ou=Administrators,dc=domain2,dc=exemple,dc=com» Путь к OU Administrators idassert-bind binddn=«cn=user,ou=Administrators,dc=domain2,dc=exemple,dc=com» # Учётная запись от имени которой OpenLDAP будет обращаться к AD. Должна обязательно присутствовать в данной организационной единице в Active Directory idassert-bind credentials=«password» idassert-bind bindmethod=simple idassert-bind «mode=none» idassert-authzFrom «dn:*» subordinate rebind-as-user chase-referrals yes #Организационная единица Students database ldap uri «ldap://server.domain2.exemple.com» suffix «ou=students,dc=domain2,dc=exemple,dc=com» idassert-bind binddn=«cn=user1,ou=students,dc=domain2,dc=exemple,dc=com» idassert-bind credentials=«password» idassert-bind bindmethod=simple idassert-bind «mode=none» idassert-authzFrom «dn:*» subordinate rebind-as-user chase-referrals yes #Организационная единица Teachers database ldap uri «ldap://server.domain2.exemple.com» suffix «ou=teachers,dc=domain2,dc=exemple,dc=com» idassert-bind binddn=«cn=user3,ou=teachers,dc=domain2,dc=exemple,dc=com» idassert-bind credentials=«password» idassert-bind bindmethod=simple idassert-bind «mode=none» idassert-authzFrom «dn:*» subordinate rebind-as-user chase-referrals yes database bdb suffix «dc=domain2,dc=exemple,dc=com» rootdn «cn=user,dc=domain2,dc=exemple,dc=com» rootpw «password» directory /var/db/openldap-data index objectClass eq,pres index ou,cn,mail,surname,givenname eq,pres,sub index uid eq,pres,sub На этом с конфигом закончим. Хочу заметить, что slapd очень чувствителен к последовательности строк. Будте внимательны. Теперь создаём в директории /usr/local/etc/openldap файлы dir.ldif и dir0.ldif со след. содержимым: dir.ldif: Code: dn: dc=domain1,dc=exemple,dc=com objectClass: top objectClass: organization objectClass: dcObject dc: domain1 o: Organization, inc. dir.ldif0: Code: dn: dc=domain2,dc=exemple,dc=com objectClass: top objectClass: organization objectClass: dcObject dc: domain2 o: Organization, inc. Теперь добавляем в rc.conf строчку slapd_enable=«YES» И стартуем демон Code: #/usr/local/etc/rc.d/slapd start Далее набираем следующие команды: Code: # ldapadd -x -h localhost -D cn=user,dc=domain1,dc=exemple,dc=com -W -f /usr/local/etc/openldap/dir.ldif # ldapadd -x -h localhost -D cn=user,dc=domain2,dc=exemple,dc=com -W -f /usr/local/etc/openldap/dir0.ldif Перезапускаем демон Code: #/usr/local/etc/rc.d/slapd restart На этом настройка OpenLDAP закончена. Для общего понимания всего что я тут написал, советую прочитать след. статью: www.osp.ru/win2000/2008/07/5670760/ Теперь переходим к настройке OpenMeetings. В директории /usr/local/opt/red5/webaps/openmeetings/conf делаем две копии файла om_ldap.cfg и приводим к след. виду: om_domain1.cfg: Code: ldap_server_type=OpenLDAP ldap_conn_url=ldap://localhost:389 ldap_admin_dn=CN:user,CN:Users,DC:domain,DC:exemple,DC:com # Пользователь должен присутствовать в AD ldap_passwd=password ldap_search_base=DC:domain1,DC:exemple,DC:com field_user_principal=sAMAccountName ldap_auth_type=SIMPLE ldap_sync_password_to_om=yes ldap_user_attr_lastname=sn ldap_user_attr_firstname=givenName ldap_user_attr_mail=mail ldap_user_attr_street=streetAddress ldap_user_attr_additionalname=description ldap_user_attr_fax=facsimileTelephoneNumber ldap_user_attr_zip=postalCode ldap_user_attr_country=co ldap_user_attr_town=l ldap_user_attr_phone=telephoneNumber ldap_use_lower_case=false om_domain2.cfg: Code: ldap_server_type=OpenLDAP ldap_conn_url=ldap://localhost:389 ldap_search_base=DC:domain2,DC:exemple,DC:com field_user_principal=sAMAccountName ldap_auth_type=NONE ldap_sync_password_to_om=yes ldap_user_attr_lastname=sn ldap_user_attr_firstname=givenName ldap_user_attr_mail=mail ldap_user_attr_street=streetAddress ldap_user_attr_additionalname=description ldap_user_attr_fax=facsimileTelephoneNumber ldap_user_attr_zip=postalCode ldap_user_attr_country=co ldap_user_attr_town=l ldap_user_attr_phone=telephoneNumber ldap_use_lower_case=false В Openmeetings заходим в настройки LDAP и прописываем оба конфига. Обратите внимание, что поиск идёт по атрибуту sAMAccountName, поэтому нужно снять флажок с «Добавить домен к имени» На этом всё. Прошу сильно не пинать, так как пишу в первый раз. Буду рад ответить на все вопросы. Желаю удачи! 09 января 2013 Автор: malankin http://sysadminblog.ru/linux/2013/01/09/avtorizaciya-v-openmeetings-s-uchetnoy-zapisyu-active-directory.html