[РЕШЕНО, SOLVED] Ubuntu Linux логин + пароль через LDAP CDS.

Добрый день, подскажите пожалуйста вот в таком вопросе:

Задача:

залогиниться в системе Ubuntu 10.04 (для начала без kerberos), через учётную запись LDAP, которая хранится на сервере CDS 11.09.

Решение:

cat /etc/ldap.conf

host 192.168.11.148
base ou=Services,dc=calculate
rootbinddn ou=Unix,ou=Services,dc=calculate
binddn cn=proxyuser,dc=calculate
bindpw calculate
port 389
ldap_version 3
bind_policy soft
nss_base_passwd ou=Users,ou=Unix,ou=Services,dc=calculate?one
nss_base_shadow ou=Users,ou=Unix,ou=Services,dc=calculate?one
nss_base_group  ou=Groups,ou=Unix,ou=Services,dc=calculate?one
pam_password md5

Данное содержимое взял из CDS, и записал в /etc/ldap.conf в ubuntu. После чего сразу всё заработало.

Установил CDS, сделал:

ip: 192.168.11.148
cl-setup ldap  - установил ldap
cl-setup unix -     установил unix схему ldap
cl-useradd test unix – создал пользователя unix в ldap схеме unix
cl-passwd test unix – задал ему пароль

Установил Ubuntu в VirtualBOX (подключение через NAT).
Установил: luma.
Подключил LDAP базу, в luma под пользователем proxyuser, и убедился, что пользователь test есть, и создан.

Установил пакеты:

sudo apt-get install libpam-ldap
sudo apt-get install libnss-ldap

Поправил файлы конфигурации к такому виду:

cat /etc/ldap.conf

host 192.168.11.148
base ou=Services,dc=calculate
rootbinddn ou=Unix,ou=Services,dc=calculate
binddn cn=proxyuser,dc=calculate
bindpw calculate
port 389
ldap_version 3
bind_policy soft
nss_base_passwd ou=Users,ou=Unix,ou=Services,dc=calculate?one?shadowFlag=1
nss_base_shadow ou=Users,ou=Unix,ou=Services,dc=calculate?one?shadowFlag=1
nss_base_group  ou=Groups,ou=Unix,ou=Services,dc=calculate?one
nss_base_group  ou=Groups,ou=Samba,ou=Services,dc=calculate?one
nss_initgroups_ignoreusers avahi,avahi-autoipd,backup,bin,couchdb,daemon,games,gdm,gnats,haldaemon,hplip,irc,kernoops,libuuid,list,lp,mail,man,messagebus,news,proxy,pulse,root,rtkit,saned,speech-dispatcher,sync,sys,syslog,usbmux,uucp,vboxadd,www-data

cat /etc/nsswitch.conf

passwd:      files ldap
shadow:      files ldap
group:       files ldap

hosts:       files dns
networks:    files dns

services:    files ldap
protocols:   files ldap
rpc:         db files
ethers:      db files
netmasks:    files
netgroup:    files ldap
bootparams:  files

automount:   files ldap
aliases:     files

Выполняю:

id test
id: test: No such user

Может какие-то логи дать? В Luma всё прекрасно видно.

Посмотрите следующее руководство:
http://www.calculate-linux.ru/blogs/ru/172/show

Добрый день Александр, разумеется я выполнил всё что указано в данном руководстве.

cat /etc/pam.d/common-session

session required        pam_unix.so
session required        pam_mkhomedir.so skel=/etc/skel/
session optional        pam_ldap.so

Не работает. :frowning:

Alexander Tratsevskiy wrote:

Посмотрите следующее руководство:
http://www.calculate-linux.ru/blogs/ru/172/show

/var/log/auth.log

Oct  7 11:39:37 administrator-desktop nscd: nss_ldap: failed to bind to LDAP server ldap://192.168.11.148: Invalid credentials
Oct  7 11:39:37 administrator-desktop nscd: nss_ldap: could not search LDAP server - Server is unavailable

Не понятная картина…

На самом сервере пользователь test виден?

Да, установлена утилита luma прям на этой же подопытной ubuntu, настроено подключение, с bind пользователем: cn=proxyuser,dc=calculate, и паролем calculate. Всё видно, всё просматривается. Пользователь test есть, группа test есть.

Я и создал данную тему потому, как подозреваю, что в указанной инструкции есть ошибка какая-то. :frowning:

Mike Hiretsky wrote:

На самом сервере пользователь test виден?

Быть может есть какие-то методы понять что не так?

Попробуйте конфиг без этой строчки

nss_base_group  ou=Groups,ou=Samba,ou=Services,dc=calculate?one

похоже в документации рассматривался вариант, когда на сервере настроена samba

Mike Hiretsky wrote:

Попробуйте конфиг без этой строчки
[…]
похоже в документации рассматривался вариант, когда на сервере настроена samba

Убрал, не помогло. При том id test на CDS выполняется успешно. Может этот момент как-то поможет?

Посмотрел на сервере /etc/nsswitch.conf ничего такого не обнаружил. Сейчас копирую из /etc/ldap.conf настройки в Ubuntu.

Mike Hiretsky wrote:

Попробуйте конфиг без этой строчки
[…]
похоже в документации рассматривался вариант, когда на сервере настроена samba

Подставил содержимое /etc/ldap.conf c CDS в Ubuntu, и всё заработало. Спасибо!

Помимо групп samba там отсутствует строка о методе шифрования пароля!

Оттого я и получал ошибку аутонтификации.

pam_password md5

В инструкции косяк. :frowning:

Спасибо, инструкцию поправили.