Я пытаюсь настроить каталог LDAP, который позволит мне аутентифицировать пользователей Debian. После того как конфигурация сервера LDAP и файлов PAM реализована, сбои аутентификации. Я думаю, что клиент не находит пользователя LDAP в каталог. Когда я пытаюсь войти в систему с пользователем LDAP, это говорит, что плохой вход в систему, и когда я пытаюсь войти в систему с локальные пользователи, это спрашивает меня пароль и затем пароль LDAP.
Сервер
1) Я сначала установил ldap-utils libldap-2.4-2 libldap-2.4-2-dbg slapd slapd-dbg
2) В файле/etc/ldap/ldap.conf:
BASE dc=example,dc=com
URI ldap://192.168.1.254/
3)
dpkg-reconfigure slapd
Я проверяю, что информация о домене является правильной: корректный.
4)
ldapsearch -x
Это соответствует тому, что я выбрал прежде.
5) Я создаю .ldif файлы для каталога и пользователей
structure.ldif:
dn: ou=users,dc=example,dc=com
objectClass: organizationalUnit
u: users
description: users
dn: ou=computers,dc=example,dc=com
objectClass: organizationalUnit
ou: computers
description: computers
dn: ou=sale,ou=users,dc=example,dc=com
objectClass: organizationalUnit
ou: sale
description: sale
dn: ou=direction,ou=users,dc=example,dc=com
objectClass: organizationalUnit
ou: direction
description: direction
dn: cn=sale,ou=sale,ou=users,dc=example,dc=com
objectClass: posixGroup
gidNumber: 501
cn: sale
description: Sale group
dn: cn=direction,ou=direction,ou=users,dc=example,dc=com
objectClass: posixGroup
gidNumber: 502
cn: direction
description: Direction group
dn: cn=pauldupont,cn=direction,ou=direction,ou=users,dc=newsoft,dc=ch
cn=pauldupont,cn=direction,ou=direction,ou=users,dc=example,dc=com
objectClass: inetOrgPerson
objectClass: posixAccount
uid: pauldupont
userPassword: pauldupont
cn: pauldupont
uidnumber: 1050
gidnumber: 501
homeDirectory: /home/profils/pauldupont
sn: pauldupont
adduseringroup.ldif:
dc: cn=sale,ou=sale,ou=users,dc=example,dc=com
changetype: modify
add: memberuid
memberuid: uid=pauldupont,cn=direction,ou=direction,ou=users,dc=example,dc=com
6) Я отправляю файлы в каталог:
ldapadd -x -D "cn=admin,dc=example,dc=com" -W -f file.ldif
6)
ldapsearch -x
Информация там.
Клиент
1) Я установил ldap-utils libldap-2.4-2 libldap-2.4-2-dbg slapd slapd-dbg libnss-ldap libpam-ldap libpam-модули libpam-cracklib nscd
2) конфигурация libnss-ldap: IP сервера: 192.168.1.254, dc=example, dc=com
3) конфигурация libpam-ldap: нет то, что администратор LDAP похож на локального пользователя, нет что сервер LDAP просит информацию прежде, чем сделать запросы
4) dpkg-реконфигурируйте libnss-ldap
Информация корректна.
5) В файле/etc/ldap/ldap.conf
BASE dc=example,dc=com
URI ldap://192.168.1.254/
6) В файле/etc/nsswitch.conf
passwd: compat ldap
group: compat ldap
shadow: compat ldap
7) В файле/etc/libnss-ldap.conf
base dc=example,dc=com
uri ldap://192.168.1.254/
ldap_version 3
rootbinddn cn=admin,dc=example,dc=com
8) В файле/etc/libnss-ldap.secret
ldap password
9) В файле/etc/pam_ldap.conf:
base dc=example,dc=com
uri ldap://192.168.1.254/
rootbinddn cn=admin,dc=example,dc=com
port 389
scope sub
bind_timelimit 30
idle_timelimit 3600
pam_filter objectClass=posixAccount
pam_login_attribute uid
10) В файлах/etc/pam.d/common-auth и общей учетной записи и общей сессии я добавил внизу:
auth sufficient pam_ldap.so
11) В файле/etc/pam.d/common-password я добавил внизу:
password sufficient pam_ldap.so use_first_pass
12)
getent passwd && getent group
Только выставочные локальные пользователи и группы.
13) Клиент, кажется, связывается с сервером:
ldapsearch -x -H "ldap://192.168.1.254" -b "dc=example,dc=com" dn
дает мне назад dn записи
14) getent passwd pauldupont
Назад ничего не дает мне и когда я регистрируюсь в /var/log/auth.log:
May 12 10:43:36 CLI1-DIR-DEB nscd: nss_ldap: failed to bind to LDAP server ldap:///192.168.1.254/: Invalid credentials
May 12 10:43:36 CLI1-DIR-DEB nscd: nss_ldap: reconnecting to LDAP server...
May 12 10:43:36 CLI1-DIR-DEB nscd: nss_ldap: failed to bind to LDAP server ldap:///192.168.1.254/: Invalid credentials
May 12 10:43:36 CLI1-DIR-DEB nscd: nss_ldap: reconnecting to LDAP server...
May 12 10:43:37 CLI1-DIR-DEB nscd: nss_ldap: failed to bind to LDAP server ldap:///192.168.1.254/: Invalid credentials
May 12 10:43:37 CLI1-DIR-DEB nscd: nss_ldap: could not search LDAP server - Server is unavailable
Кажется, что учетные данные являются неправильными. Я проверил все конфигурационные файлы выше, и я не могу найти ошибки.
Кто-либо знает, где проблема?
Спасибо за помощь.
Я использую Debian Jessie 8,0 AMD64 для клиента и сервера
uname-a: SRV1-DEB Linux 3.16.0-4-amd64 № 1 SMP Debian 3.16.7-ckt9-3~deb8u1 (2015-04-24) x86_64 GNU/Linux
OpenLDAP 2.4
РЕДАКТИРОВАНИЕ: После того как я добавил пароль в/etc/ldap.secret файле, и я делаю getent passwd, я получаю пользователей LDAP, но я все еще не могу соединиться.
После того как я пытался соединиться, у меня есть это в файле журнала:
May 18 09:09:53 CLI1-DIR-DEB login[904]: pam_mail(login:session): user unknown
May 18 09:09:53 CLI1-DIR-DEB login[904]: pam_loginuid(login:session): error_ log for user-name'pauldupont' does not exist
May 18 09:09:53 CLI1-DIR-DEB login[904]: pam_unix(login:session): session opened for user pauldupont by LOGIN(uid=0)
May 18 09:09:53 CLI1-DIR-DEB login[904]: pam_systemd(login:session): Failed to get user data
May 18 09:09:53 CLI1-DIR-DEB login[904]: pam_systemd(login:session): Failed to get user data
May 18 09:09:53 CLI1-DIR-DEB login[904]: User not known to the underlying authentication module
Похоже, вы поставляете binddn, но плохие учетные данные. Содержимое /etc/ldap.secret
и то, что вы вставили в строку -W
точно такое же?
rootbinddn
- это binddn, используемый root на клиентской машине. Обычно это не должно быть rootdn суффикса, так как это означало бы, что компрометация компьютера также скомпрометировала бы каталог.
Существует несколько ситуаций, в которых использование sssd
над pam_ldap
и nss-ldap
/nss-ldapd
не является правильным выбором. Это не один из них. (По моему опыту, он ограничивается аутентификацией учетных записей не из шести.)
Здесь есть и другие вещи неправильные в работе с группами RFC2307 против RFC2307bis, но до этого у вас не получается. Когда это станет вашей настоящей проблемой, задайте другой вопрос.