nslcd с domain.com и sub.domain.com
Я пытаюсь настроить наш сервер Linux с nslcd в нескольких доменах AD, example.com и sub.exmaple.com.
Текущая настройка с помощью nslcd довольно проста и работает для домена example.com:
uid nslcd
gid ldap
uri ldaps://dc1.example.com:636
base dc=example,dc=com
binddn cn=srv_authuser,ou=server,dc=example,dc=com
bindpw ----
tls_reqcert never
pagesize 1000
referrals off
idle_timelimit 800
filter passwd (&(objectClass=user)(!(objectClass=computer)))
map passwd uid sAMAccountName
map passwd uidNumber objectSid:S-1-5-21-4129304498-564803152-741489137
map passwd gidNumber gidNumber
map passwd loginShell "/bin/bash"
map passwd homeDirectory "/home/$sAMAccountName"
map passwd gecos displayName)(!(objectClass=computer))(uidNumber=*)(unixHomeDirectory=*))
map group gidNumber objectSid:S-1-5-21-4129304498-564803152-741489137
map shadow uid sAMAccountName
map shadow shadowLastChange pwdLastSet
filter group (objectClass=group)
tls_cacertdir /etc/openldap/cacerts
ssl on
Возможно ли с помощью nslcd (pam-nss-ldap) настроить второй запрос ldap для sub.domain.com или это возможно только через sssd? Если у пользователя bind есть права администратора на sub.domain.com, может ли он также получить пароли / данные учетной записи?
Спасибо
1 ответ
Вы не сможете делать то, что хотите, только с помощью nslcd. Вместо этого вам придется настроить поддельный сервер LDAP с поддельным доменным именем, обслуживаемым slapd с бэкэндом slapd-meta или slapd-ldap. Затем вы добавите свои серверы AD, например, в fakedomain.local. Как только это будет сделано, вы сможете зарегистрировать своего клиента на fakedomain.local, в котором будет несколько доменов. После этого вы сможете составить список пользователей с двух разных серверов LDAP.
Вот пример вашей конфигурации прокси-сервера LDAP:
sudo yum install -y openldap openldap-клиенты openldap-серверы
cat /etc/openldap/slapd.conf
include /etc/openldap/schema/core.schema
include /etc/openldap/schema/corba.schema
include /etc/openldap/schema/cosine.schema
include /etc/openldap/schema/duaconf.schema
include /etc/openldap/schema/dyngroup.schema
include /etc/openldap/schema/inetorgperson.schema
include /etc/openldap/schema/java.schema
include /etc/openldap/schema/misc.schema
include /etc/openldap/schema/nis.schema
include /etc/openldap/schema/openldap.schema
include /etc/openldap/schema/collective.schema
include /etc/openldap/schema/pmi.schema
include /etc/openldap/schema/ppolicy.schema
allow bind_v2
allow bind_anon_cred
pidfile /var/run/openldap/slapd.pid
argsfile /var/run/openldap/slapd.args
modulepath /usr/lib64/openldap/
moduleload rwm.la
moduleload back_ldap.la
moduleload back_meta.la
loglevel 4095
attributetype ( 1.2.840.113556.1.4.656 NAME 'userPrincipalName' EQUALITY caseExactMatch SYNTAX '1.3.6.1.4.1.1466.115.121.1.15' SINGLE-VALUE )
#Active Directory1
database meta
suffix "dc=fakedomain,dc=local"
uri "ldap://ipofyourldap1:389/dc=fakedomain,dc=local"
readonly yes
lastmod off
suffixmassage "dc=fakedomain,dc=local" "ou=users,ou=office,dc=real1,dc=domain"
idassert-bind bindmethod=simple
binddn="CN=userwithadminrights,OU=users,OU=office,DC=real1,DC=domain"
credentials="yourplaintextpassword"
idassert-authzFrom "*"
#Active Directory2
database meta
suffix "dc=fakedomain,dc=local"
uri "ldap://ipofyourldap2:389/dc=fakedomain,dc=local"
readonly yes
lastmod off
suffixmassage "dc=fakedomain,dc=local" "ou=users,ou=office,dc=real2,dc=domain"
idassert-bind bindmethod=simple
binddn="CN=userwithadminrights,OU=users,OU=office,DC=real2,DC=domain"
credentials="yourplaintextpassword"
idassert-authzFrom "*"
Добавьте следующее:
#####################ADD TO /etc/openldap/schema/inetorgperson.schema############
attributetype ( 1.2.840.113556.1.4.221
NAME 'sAMAccountName'
SYNTAX '1.3.6.1.4.1.1466.115.121.1.15' SINGLE-VALUE )
#####################ADD TO /etc/openldap/schema/inetorgperson.schema############
sudo rm -r /etc/openldap/slapd.d && sudo mkdir /etc/openldap/slapd.d && sudo chown -R ldap.ldap /etc/openldap/slapd.d
sudo slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d
sudo slapd -d 1