Как обрабатывать повторяющиеся имена пользователей AD из разных доменов для аутентификации с использованием ldap proxy + nslcd

У меня есть сценарий, в котором есть одна машина ubuntu, которая служит прокси-сервером ldap с использованием ldap в качестве backend, и у меня есть две машины Windows 2008 r2 с активным каталогом с разными доменами, пусть говорят abc.com и xyz.com .

Оба они разные, с уникальным именем пользователя в каждом.

Но, возможно, случайно, что в обоих объявлениях может быть одинаковое имя пользователя, скажем, имя пользователя test_ad1 в abc.com и то же имя пользователя test_ad1 в xyz.com с разными uid / gid, где есть вкладки атрибутов unix в свойствах пользователя.

Итак, как обращаться с дублирующимися пользователями из разных AD для аутентификации?

Вот что я до сих пор пытался: установив правильный прокси ldap с помощью nslcd, pam, я могу получить обоих пользователей AD соответственно, то есть используя команду «getent passwd» на моем прокси-машине ubuntu, показывает, что пользователям нравится

test_ad3:*:20001:666:test ad3:/home/test_ad3:/bin/bash // this users are of ad1 (abc.com) test_ad4:*:20002:666:test ad4:/home/test_ad4:/bin/bash // this users are of ad1 (abc.com) test_ad1:*:20003:666:test ad11:/home/test_ad1:/bin/bash // this users are of ad1 (abc.com) password at AD1 is 123@test test_ad1:*:10010:777:test ad1:/home/test_ad1:/bin/bash // this users are of ad2 (xyz.com) password at AD2 is test@1234 test_ad2:*:10011:777:test ad2:/home/test_ad2:/bin/bash // this users are of ad2 (xyz.com) 

поскольку мы видим, что у всех пользователей есть разные uid / gid, т. е. они уникальны.

Поэтому для проверки подлинности я попытался использовать единое имя домена на моем прокси-сервере ubuntu ldap, но не смог,

 1) su abc.com\\test_ad1---> auth.log shows me "No passwd entry for user test_ad1" 2) su xyz.com\\test_ad1---> auth.log shows me "No passwd entry for user test_ad1" 

но когда я попробую только su test_ad1 и введите пароль 1-го объявления (abc.com), то есть 123 @ test, чем он успешно вступил в систему, и когда я ввожу пароль второго объявления (xyz.com), то есть test @ 1234 для того же su test_ad1, чем он показывает su: Ошибка аутентификации ", хотя пароль отличается от cli.

Я думаю, потому что другой test_ad1 (10011: 777, т.е. пользователь ad2) приходит после test_ad1 (20003: 666, т.е. пользователь ad1) в списке getent passwd , это, вероятно, связано с последовательным рабочим поведением nslcd, я думаю, исправьте, если ошибаетесь.

Вот мой slapd.conf

 ################ LDAP MULTIPLE BACK END ########## ######## 1st AD ########## moduleload back_ldap backend ldap database ldap suffix "dc=ad2,dc=com" uri ldap://192.168.1.189:389/ rebind-as-user idassert-bind bindmethod=SIMPLE binddn="CN=Administrator,CN=Users,DC=ad2,DC=com" credentials=Admin@1234 #mode=none idassert-authzFrom "*" access to * by * read moduleload rwm.la overlay rwm rwm-map attribute uid sAMAccountName rwm-map attribute homeDirectory unixHomeDirectory rwm-map objectClass posixAccount person ######## 1st AD ########## ######## 2nd AD ########## database ldap suffix "dc=ad1,dc=com" uri ldap://192.168.1.185:389/ rebind-as-user idassert-bind bindmethod=SIMPLE binddn="CN=Administrator,CN=Users,DC=ad1,DC=com" credentials=Admin@1234 #mode=none idassert-authzFrom "*" access to * by * read overlay rwm rwm-map attribute uid sAMAccountName rwm-map attribute homeDirectory unixHomeDirectory rwm-map objectClass posixAccount person ######## 2nd AD ########## 

Вот nslcd.conf

 # Mappings for Active Directory pagesize 1000 referrals off #nss_nested_groups yes # Passwd filter passwd (&(objectClass=posixAccount)(objectClass=USER)(!(objectClass=computer))(uidNumber=*)) map passwd homeDirectory unixHomeDirectory map passwd gecos displayName map passwd gidNumber primaryGroupID map shadow uid sAMAccountName # Shadow filter shadow (&(objectClass=posixAccount)(!(objectClass=computer))(uidNumber=*)) map shadow shadowLastChange pwdLastSet # Groups filter group (&(objectClass=posixGroup)(gidNumber=*)) #map group uniqueMember member # Local account for nsclcd uid nslcd gid openldap # Where is the LDAP Proxy #LDAP uri ldap://192.168.1.186:389 base dc=ad1,dc=com base dc=ad2,dc=com #Note when i change base to reverse order than user test_ad1 logon successfully with ad2 password and ad1 password fails #base dc=ad2,dc=com #base dc=ad1,dc=com base group ou=Groups,dc=ad1,dc=com base group ou=Groups,dc=ad2,dc=com # Connect-Account of ad1 binddn cn=administrator,cn=Users,dc=ad1,dc=com bindpw Admin@1234 # Connect-Account of ad2 binddn cn=administrator,cn=Users,dc=ad2,dc=com bindpw Admin@1234 

Примечание. Я следую этому документу для аутентификации прокси-сервера ldap до 1 AD.

Я новичок в этом, и я знаю, что это может быть запутанным !!!

Таким образом, любой специалист LDAP / AD может помочь справиться с этим типом сценария?

Любая помощь будет оценена по достоинству. Благодарю.

Interesting Posts

Оценить размер извлеченных файлов перед извлечением архива `tar.gz`?

vim: Могу ли я сделать * только * y выполнить копию?

Загрузите систему Linux из подкаталога на разделе?

ping не прекращается, когда iptables REJECT-s это

На клавиатуре Apple под Linux, как заставить функциональные клавиши работать без ключа модификатора fn?

Как переключиться на root и использовать те же точечные файлы, что и мой обычный пользователь?

Sendmail с поддержкой поддержки TLS FROM: address

Почему чтение из двух связанных pty вызывает бесконечный цикл?

Нет сетей для Centos под VirtualBox

Установщик не загружается на 64-битный процессор Intel Atom

Не освобождает () unmap память процесса?

Начальный экран без экрана приветствия

Проблема Установка UBUNTU 14.04 (и Mint 16, основанная на UBUNTU 13.10) как двойная загрузка на RAID 0 с Windows 8.1

Почему каждая программа или служба имеет собственную учетную запись в / etc / passwd?

Является ли Cat-v.org официальным вспомогательным сайтом Plan 9 от Bell Labs?

Linux и Unix - лучшая ОС в мире.