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

Прокси OpenLDAP для AD - userPrincipalName как BindDN

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

Все работает нормально у клиентов, использующих стандартные bindDN полного дн: атрибут (например, 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 наложение. Это не сработало, хотя работает со стандартным связыванием дн(например.cn=jdoe,ou=users,dc=example,dc=com)

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

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

Это работает - переписывание ou=users для ou=employees в качестве теста:

rwm-rewriteRule "(.+,)?ou=users,dc=example,dc=com$" "$1ou=employees,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