Логінимось на клієнт та встановлюємо додаткові пакети:
# apt-get install libnss-ldap libpam-ldap nscd
Дебіан підтримує конфігурацію сервісів під час установки (шах і мат, RPM-щики), тому одразу відповідаємо на питання налаштування.
Вводимо адресу LDAP-сервера у вигляді ldap://1.2.3.4:
Конфігуруємо ldap на використання 3 версії протоколу:
Пропозиція кешувати локально паролі. Я погодився:
Відмовляємось:
Вводимо рут-аккаунт до LDAP-серверу. У моєму випадку це cn=admin,dc=ipeacocks,dc=info:
І пароль до cn=admin,dc=ipeacocks,dc=info:
Готово. Якщо щось було введено помилково, можна знову запустити конфігурацію:
# dpkg-reconfigure ldap-auth-config
Редагуємо /etc/nsswitch.conf:
# vim /etc/nsswitch.conf
...
passwd: ldap compat
group: ldap compat
shadow: ldap compat
...
netgroup: ldap
...
Перевіряємо та змінюємо за потреби /etc/ldap/ldap.conf:
# vim /etc/ldap/ldap.conf
...
BASE dc=ipeacocks,dc=info
URI ldap://1.2.3.4
...
Далі редагуємо конфігурацію PAM. PAM (Pluggable Authentication Modules) - модулі, що надають аутентифікацію клієнтам від аплікейшенів, що її надають. Система PAM працює на багатьох системах, проте щоб дозволити аутентифікацію через LDAP необхідно дещо відредагувати конфігураційний файл:
# vim /etc/pam.d/common-session
Та додати таку ж строку:
...
session required pam_mkhomedir.so
Ця опція відповідає за автоматичне створення домашньої директорії після першого доступа до сервера користувача LDAP.
Перевіряємо параметри в /etc/pam.d/common-auth та за необхідності приводимо їх до вигляду поданого нижче:
# vim /etc/pam.d/common-auth
...
auth [success=2 default=ignore] pam_unix.so nullok_secure try_first_pass
auth [success=1 default=ignore] pam_ldap.so use_first_pass
...
auth requisite pam_deny.so
...
auth required pam_permit.so
...
Переглядаємо /etc/pam.d/common-account:
# vim /etc/pam.d/common-account
...
account [success=2 new_authtok_reqd=done default=ignore] pam_unix.so
account [success=1 default=ignore] pam_ldap.so
...
account requisite pam_deny.so
...
account required pam_permit.so
...
Також варто паревірити конфігураційний файл /etc/pam.d/common-password:
# vim /etc/pam.d/common-password
...
password [success=2 default=ignore] pam_unix.so obscure sha512
password [success=1 user_unknown=ignore default=die] pam_ldap.so use_authtok try_first_pass
...
password requisite pam_deny.so
...
password required pam_permit.so
...
І останній /etc/pam.d/common-session-noninteractive:
# vim /etc/pam.d/common-session-noninteractive
...
session [default=1] pam_permit.so
...
session requisite pam_deny.so
...
session required pam_permit.so
...
session required pam_unix.so
session optional pam_ldap.so
Перевантажуємо nscd:
# /etc/init.d/nscd restart
Для того щоб користувачі мали права sudo, варто на LDAP-сервері створити POSIX-групу admin, додати до неї необхідних користувачів і перевірити конфігурацію sudoers на клієнті:
# visudo
...
# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL
...
Можна також обмежити доступ до серверів. Для цього необхідно додати новий об'єктний клас extensibleObject і додати новий атрибут host до запису користувача на LDAP сервері. І тоді вже на клієнті зробити правки конфігураційних файлів.
# vim /etc/ldap.conf
...
pam_filter | (host=thehostname)(host=\*)
...
Відповідно, значення запису host на LDAP має співпадати зі значенням host в записі на клієнті, що я навів вище. Ось ще 2 варіанти, як можна зробити те саме, проте із іншим підходом.
Ну власне все, можна спробувати підключитись до сервера, використовуючи аккаунти, що були додані в LDAP.
Посилання:
http://www.unixmen.com/configure-linux-clients-authenticate-using-openldap/
https://www.digitalocean.com/community/tutorials/how-to-authenticate-client-computers-using-ldap-on-an-ubuntu-12-04-vps
https://help.ubuntu.com/community/LDAPClientAuthentication
https://wiki.archlinux.org/index.php/openLDAP_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9)
http://seriousbirder.com/blogs/openldap-hostobject-class/
http://onemoretech.wordpress.com/2010/03/01/an-alternative-to-custom-objectclasses-the-extensibleobject/
Немає коментарів:
Дописати коментар