Как настроить Ubuntu в качестве клиента LDAP?

21

Как настроить Ubuntu 12.04 в качестве клиента ldap с модулями pam?

felip3
источник
Размещение вашего файла конфигурации в вашем вопросе поможет!
Хорхе Кастро

Ответы:

16

Содержание этого поста основано на этом руководстве . Он должен нормально работать в 12.04.

1) Введите следующую команду:

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

ПРИМЕЧАНИЕ. Во время установки вышеуказанных пакетов появится диалоговое окно с вопросом о конфигурации LDAP. Обязательно введите правильные значения для вашей конфигурации LDAP.

2) Редактировать /etc/nsswitch.conf(через sudo). Добавьте «ldap» к этим строкам:

#Original file looks like this 
passwd: compat 
group : compat  
shadow: compat 

#After appending "ldap" lines look like these
passwd: compat ldap
group : compat ldap  
shadow: compat ldap 

3) Прокомментируйте строку rootbinddn, я не уверен, почему мы должны это делать.

4) Отредактируйте /etc/pam.d/login(через sudo) и вставьте:

session required pam_mkhomedir.so skel=/etc/skel umask=0022 

5) Отредактируйте /etc/pam.d/lightdm(через sudo) и вставьте:

session required pam_mkhomedir.so skel=/etc/skel umask=0022 

6) Выполните эту команду:

sudo update-rc.d nslcd enable

Вы должны иметь возможность войти в систему как пользователь LDAP после перезагрузки. Если вы не перезагружаете компьютер, вы должны перезапустить nscd с помощью:

/etc/init.d/nscd restart

Вероятные проблемы и решения:

  • Вход в систему как пользователь LDAP занимает очень много времени (минут): очень вероятно, что у nss-lap возникли проблемы с поиском группы пользователей. Убедитесь, что пользователь входит в группу, которая распознается локально, или что он входит в группу, определенную в LDAP. Убедитесь, что, если группа определена в LDAP, это настоящая группа POSIX.
  • Всегда проверяйте /var/log/auth.logфайл журнала. Если вы видите «невозможно связаться с сервером LDAP», проверьте, доступен ли сервер LDAP и открыт ли порт.
  • Попробуйте пропинговать сервер LDAP по имени
  • Попробуйте проверить, открыт ли порт LDAP:
    • LDAP может прослушивать разные порты, но обычно его можно найти на 389 и 636
    • Вы можете проверить, открыт ли порт, используя telnet:
    • telnet 389 или telnet 636
    • Если вы видите какие-либо символы на консоли, то порт открыт и сервер LDAP должен быть запущен.
    • Если вы ничего не видите или получаете сообщение об ошибке, либо сервер LDAP не работает, либо что-то (например, брандмауэр) препятствует соединению.
Стивен Питер Пиво
источник
Если вы используете ldaps, вам также может понадобиться настроить доверительные сертификаты в соответствии с askubuntu.com/questions/73287/…
sweetfa
5

Чтобы автоматически создать домашний каталог при входе в систему, мне пришлось поставить строку:

session required pam_mkhomedir.so skel=/etc/skel umask=0022

в /etc/pam.d/common-sessionвместо /etc/pam.d/login- когда у меня это было позже, мой домашний каталог не был создан.

Дэвид Пердью
источник
2
sudo apt-get install ldap-utils libpam-ldap libnss-ldapd nslcd

Вместо этого используйте libnss-ldapd.

За ошибку: https://bugs.launchpad.net/ubuntu/+source/libnss-ldap/+bug/1024475

user249806
источник
Спасибо. Удаление libnss-ldap и установка libnss-ldapd устранили мою проблему с загрузкой после попытки установить это.
Omegamormegil
1

Чтобы иметь возможность вводить имена пользователей, вы должны изменить lightdm configurationследующую команду:

/usr/lib/lightdm/lightdm-set-defaults -m true
Фред
источник
0

Что касается ввода имен пользователей в ligthdm greeter, то с 16.04 команда lightdm-set-defaults пропала.

Вместо этого вы можете добавить опцию для ввода имен пользователей в конфигурационный файл lightdm. Например, создайте файл /etc/lightdm/lightdm.conf и добавьте следующие строки:

[SeatDefaults]
greeter-show-manual-login=true
Omegamormegil
источник