Как настроить Ubuntu 12.04 в качестве клиента ldap с модулями pam?
Чтобы домашний каталог автоматически создавался при входе в систему, мне пришлось поместить строку:
session required pam_mkhomedir.so skel=/etc/skel umask=0022
в /etc/pam.d/common-session
вместо /etc/pam.d/login
- когда он был у меня позже, мой домашний каталог не был создан.
Содержание этого сообщения основано на руководство . Он должен работать нормально в 12.04.
Введите следующую команду:
sudo apt-get install ldap-utils libpam-ldap libnss-ldap nslcd
Примечание : Во время установки вышеуказанных пакетов появится диалоговое окно с вопросом о некоторой конфигурации LDAP. Обязательно введите правильные значения для вашей конфигурации LDAP.
Отредактируйте /etc/nsswitch.conf
(через sudo). Добавьте «ldap» к этим строкам:
# Исходный файл выглядит так
passwd: compat
группа: compat
тень: совместимость
# После добавления "ldap" строки выглядят так
passwd: compat ldap
группа: compat ldap
тень: compat ldap
Закомментируйте строку rootbinddn
, я не уверен, зачем нам это нужно.
Отредактируйте /etc/pam.d/login
(через sudo) и вставить:
требуется сеанс pam_mkhomedir.so skel = / etc / skel umask = 0022
Отредактируйте /etc/pam.d/lightdm
(через sudo) и вставьте:
сеанс требуется pam_mkhomedir.so skel = / etc / skel umask = 0022
Выполните эту команду:
sudo update-rc.d nslcd enable
После перезагрузки вы сможете войти в систему как пользователь LDAP. Если вы не перезагружаете компьютер, вам необходимо перезапустить nscd с помощью:
/etc/init.d/nscd restart
Вероятные проблемы и решения:
/var/log/auth.log
. Если вы видите «невозможно связаться с сервером ldap», проверьте, доступен ли сервер LDAP и открыт ли порт. telnet 389
или telnet 636
sudo apt-get install ldap-utils libpam-ldap libnss-ldapd nslcd
Вместо этого используйте libnss-ldapd.
За ошибку: https://bugs.launchpad.net/ ubuntu / + source / libnss-ldap / + bug / 1024475
Чтобы иметь возможность вводить имена пользователей, вам необходимо изменить конфигурацию lightdm
с помощью следующей команды:
/usr/lib/lightdm/lightdm-set-defaults -m true
Что касается ввода имен пользователей в ligthdm greeter, по состоянию на 16.04, команда lightdm-set-defaults пропала.
Вместо этого вы можете добавить возможность ввода имен пользователей в файл конфигурации lightdm. Например, создайте файл /etc/lightdm/lightdm.conf и добавьте следующие строки:
[SeatDefaults]
greeter-show-manual-login=true