Назад | Перейти на главную страницу

OpenLDAP userPrincipalName как BindDN

Я установил OpenLDAP в качестве прокси-сервера AD в соответствии с: https://wiki.samba.org/index.php/OpenLDAP_as_proxy_to_AD

Все работает нормально для клиентов, использующих стандартный bindDN с полным атрибутом dn: (например, cn=jdoe,ou=users,dc=example,dc=com)

Некоторые клиенты используют userPrincipalName в качестве bindDN, что вполне нормально с AD, но не с прокси OpenLDAP, который выдает ошибку при подключении:

conn=1002 op=1 do_bind: invalid dn (jdoe@example.com)
send_ldap_result: conn=1002 op=1 p=3
send_ldap_result: err=34 matched="" text="invalid DN"
send_ldap_response: msgid=2 tag=97 err=34
conn=1002 op=1 RESULT tag=97 err=34 text=invalid DN

Я попытался переписать bindDN userPrincipalName, используя rwm-rewriteRule из наложения rwm. Это не сработало, хотя оно работает со стандартными dn привязки (например, cn=jdoe,ou=users,dc=example,dc=com)

Это не работает:

rwm-rewriteRule "(.+,)@example.com$" "cn=$1,ou=users,dc=example,dc=com"  ":"

Это работает:

rewritin ou=users for ou=employees as a test:

rwm-rewriteRule "(. +,)? ou = users, dc = example, dc = com $" "$ 1ou = сотрудники, dc = example, dc = com" ":"

Есть ли способ переписать bindDN из jdoe@example.com в bindDN из cn=jdoe,ou=users,dc=example,dc=com?

Вот моя текущая конфигурация:

include                 /etc/openldap/schema/core.schema  
include                 /etc/openldap/schema/cosine.schema  
include                 /etc/openldap/schema/inetorgperson.schema  
include                 /etc/openldap/schema/misc.schema  
include                 /etc/openldap/schema/nis.schema  

modulepath              /usr/lib64/openldap/  
moduleload              back_ldap  
moduleload              rwm  

pidfile                 /var/run/openldap/slapd.pid  
argsfile                /var/run/openldap/slapd.args  

database                ldap  
readonly                yes  
protocol-version        3  
rebind-as-user          yes  
uri                     "ldap://X.X.X.X:389"  
suffix                  "dc=example,dc=com"  
overlay                 rwm  
rwm-rewriteEngine on  
rwm-rewriteRule "(.+,)@example.com$" "cn=$1,ou=users,dc=example,dc=com"  ":"  
logfile                 /var/log/slapd/slapd.log  
loglevel                -1  
TLSCACertificatePath /etc/openldap/certs  
TLSCertificateFile "OpenLDAP Server"  
TLSCertificateKeyFile /etc/openldap/certs/password  

Это правильно, что вы можете переписать bind-DN ​​с помощью slapo-rwm но это должны быть DN.

Чтобы вы могли переписать короткое DN uid=user@example.com к uid=user,dc=example,dc=com даже при поиске записи с фильтром (attr=user@example.com).

Но краткая форма, которую нужно переписать, должна быть допустимым строковым представлением DN, как определено в RFC 4514 а не только основное имя пользователя user@example.com как с MS AD.

См. Примеры в slapo-rwm (5).