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

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

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

  • ACL не работает в каталогах
  • Обратные носки5 с использованием SSH
  • Присоединяйтесь к Redhat 7 без запроса пароля
  • Перезапуск службы клиентов LDAP
  • Ldap SSH Login не работает - одинаковые конфигурации работают на 20+ других серверах - Ubuntu
  • Судо долго ждать пользователя Active Directory
  • Но, возможно, случайно, что в обоих объявлениях может быть одинаковое имя пользователя, скажем, имя пользователя 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 может помочь справиться с этим типом сценария?

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

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