В процессе перестройки сети стала задача авторизации Debian-машины на сервере CDS.
Прочитав статью Alexey Samoukin я взялся за дело, но не тут-то было, описанных файлов на моем Debian Squeeze не обнаружилось, но зато нашлись другие. Методом научного тыка, а также прочтением статьи на Debian Wiki про LDAP/PAM и про LDAP/NSS проблема была успешно решена.
Итак, необходимые настройки:
- Устанавливаем пакет libpam-ldap
На вопросы debconf отвечаем следующим образом:
LDAP server URI:
URL или имя вашего сервера CDS
Distinguished name of the search base:
ou=Services,dc=calculate
LDAP version to use:
3
Allow LDAP admin account to behave like local root?
я ответил
Нет
Хотя, возможно тут можно поиграться. Мне просто это пока не нужно
Does the LDAP database require login?
Да
LDAP login user account:
cn=proxyuser,dc=calculate
Password for LDAP login user:
calculate
Local encryption algorithm to use for passwords:
md5
PAM profiles to enable:
убедиться, что включено
LDAP Authentication
Остальные - как вам нужно.
- Устанавливаем пакет libnss-ldap
На вопросы debconf отвечаем следующим образом:
LDAP server Uniform Resource Identifier:
URL или имя вашего сервера CDS
Distinguished name of the search base:
ou=Services,dc=calculate
LDAP version to use:
3
Does the LDAP database require login?:
Да
Special LDAP privileges for root?:
Нет
Make the configuration file readable/writeable by its owner only?:
Да
Unprivileged database user:
cn=proxyuser,dc=calculate
Password for database login account:
calculate
- Настраиваем /etc/nsswitch.conf
Тут необходимо убедиться, что у записей passwd, shadow, group, netgroup есть запись ldap. У меня этот файл выглядит так (измененные строки выделены звездочками, в файле звездочек, естественно, нет):
*passwd: ldap compat
*group: ldap compat
*shadow: ldap compat
hosts: files dns
networks: files dns
protocols: db files
services: db files
ethers: db files
rpc: db files
*netgroup: nis ldap
- Создание домашних каталогов
Если нужно, чтобы при входе пользователя создавался домашний каталог - в файле /etc/pam.d/common-session после строки
session required pam_unix.so
добавьте
session required pam_mkhomedir.so skel=/etc/skel umask=0022
Вышеописанная настройка - это самый простой вариант, при необходимости можно использовать множество других возможностей. Подробнее читайте на Debian Wiki по ссылкам в начале статьи.