В первую очередь надо установить требуемые пакеты ldap.
$ apt-get install auth-client-config libpam-ldap libnss-ldap
В экране конфигурации должно быть следующее:
Should use debconf -> YES
URI -> ldapi://LDAP_SERVER_IP/
DISTINGUISHED NAME -> dc=mydomain
LDAP VERS -> 3
LOCAL ROOT DB ADMIN -> YES
DOES DB REQ LOGIN -> NO
LDAP A/C -> cn=admin,dc=mydomain
LDAP root a/c password -> PASSWORD
Я так понял, что это действие должно создать файл /etc/ldap.conf, который осуществляет центральное управлене. Тем не менее, это не работает.
Итак...
$ nano /etc/ldap.conf
Надо изменить:
строку:
host 127.0.0.1
на строку:
host LDAP_SERVER_IP
строку:
base = padl....
на строку:
base = dc=mydomain
Раскоментировать строку:
bind_policy=hard
и изменить ее на строку:
bind_policy=soft
Теперь, т.к. имеется другой файл ldap.conf (полный путь /etc/ldap/ldap.conf), я продублировал его.
$ cp /etc/ldap/ldap.conf /etc/ldap/ldap.conf.bak
$ cp /etc/ldap.conf /etc/ldap/ldap.conf
Чтобы использовать auth-client-config, надо вручную выполнить некоторые действия.
Создать новый файл ldap-профиля:
$ nano /etc/auth-client-config/profile.d/open_ldap
и записать в него следующие строки:
[open_ldap]
nss_passwd=passwd: ldap files
nss_group=group: ldap files
nss_shadow=shadow: ldap files
pam_auth=auth required pam_env.so
auth sufficient pam_unix.so likeauth nullok
auth sufficient pam_ldap.so use_first_pass
auth required pam_deny.so
pam_account=account sufficient pam_unix.so
account sufficient pam_ldap.so
account required pam_deny.so
pam_password=password sufficient pam_unix.so nullok md5 shadow use_authtok
password sufficient pam_ldap.so use_first_pass
password required pam_deny.so
pam_session=session required pam_limits.so
session required pam_mkhomedir.so skel=/etc/skel/
session required pam_unix.so
session optional pam_ldap.so
Это улучшение настроек ldap по-умолчанию, т.к. содержит создание домашней папки пользователя, который ранее на станции не регистрировался.
Далее, чтобы активизировать созданную конфигурацию, нужно выполнить:
$ auth-client-config -a -p open_ldap
Из-за того, что теперь аутентификация ldap происходит перед files, метод доступа "на лету" к usb sticks работать не будет. Чтобы он заработал для пользователей ldap, в дереве ldap нужно создать группу plugdev.
Чтобы метод "на лету" заработал для всех пользователей, нужно добавить строку:
auth optional pam_group.so
в начало файлов /etc/pam.d/gdm и /etc/pam.d/login. Важно, чтобы эта строчка была первой в этих файлах.
И еще...
$ nano /etc/security/group.conf
вставить в начало строки:
login;*;*;Al0000-2400;users,cdrom,floppy,plugdev,audio,dip,powerdev
kdm;*;*;Al0000-2400;users,cdrom,floppy,plugdev,audio,dip,video,powerdev
gdm;*;*;Al0000-2400;users,cdrom,floppy,plugdev,audio,dip,video,powerdev
Эта часть добавляет всех пользователей, входивших в систему на станции, в группы users, cdrom, floppy, plugdev (для HAL), audio, dip и video.
Теперь необходимо в дереве ldap создать группу plugdev и присвоить ей gid 46. Это позволит пользователям ldap, входящим в группу plugdev, монтировать usb sticks и т.п.
Все. Можно пользоваться.