LDAP Linux Auth Client: различия между версиями
Sirmax (обсуждение | вклад) |
Sirmax (обсуждение | вклад) |
||
(не показана 1 промежуточная версия этого же участника) | |||
Строка 102: | Строка 102: | ||
<PRE> |
<PRE> |
||
/etc/init.d/nslcd restart |
/etc/init.d/nslcd restart |
||
− | * Restarting LDAP connection daemon nslcd |
+ | * Restarting LDAP connection daemon nslcd |
+ | </PRE> |
||
− | </PRE> [ OK ] |
||
+ | <PRE> |
||
root@node-2:/etc# /etc/init.d/nscd start |
root@node-2:/etc# /etc/init.d/nscd start |
||
* Starting Name Service Cache Daemon nscd |
* Starting Name Service Cache Daemon nscd |
||
Строка 122: | Строка 123: | ||
* https://bugs.launchpad.net/ubuntu/+source/libnss-ldap/+bug/1024475 |
* https://bugs.launchpad.net/ubuntu/+source/libnss-ldap/+bug/1024475 |
||
* https://blog.shichao.io/2015/05/21/setup_nss_ldapd_on_ubuntu_14_04.html |
* https://blog.shichao.io/2015/05/21/setup_nss_ldapd_on_ubuntu_14_04.html |
||
+ | * https://wiki.debian.org/LDAP/NSS#Configuring_LDAP_Authentication |
Текущая версия на 15:17, 20 мая 2016
Клиентская часть - линуксбокс который будет авторизоваться в LDAP
Есть 2 варианта - простой и плохо работающий и второй который вроде-бы работает лучше
Простой но проблемный
Настройка описанным ниже способом хорошо работает но в случае потери связи с сервером LDAP залогиниться не смогут даже локальные пользователи из-за таймаутов. Кроме того, попытка перезагрузить систему приведет к тому, что загрузка займет очень много времени. После дебага я выяснил, что при исполнении каждой комманды производиться проверка принадлежности пользователя к группе, что при неработающем LDAP занимает много времени. В результате это выглядит как очень очень медленная загрузка системы (часы!)
DEBIAN_FRONTEND=noninteractive apt-get install libnss-ldap
Sudosh2
dpkg -i /root/sudosh2_2.0.1-1_amd64.deb
/etc/shells
/usr/bin/sudosh
/etc/nsswitch.conf
#passwd: compat #group: compat #shadow: compat passwd: ldap files group: ldap files shadow: ldap files
/etc/ldap.conf
udi ldap://:10.20.0.3/ base dc=fuel_domain ldap_version 3 pam_password md5
/etc/ssh/sshd_conf
PasswordAuthentication yes
Альтернативный вариант настройки
- libnss-ldapd - замена libnss-ldap
- nscd - кеширующий процесс и на время дебага его лучше отключать.
export DEBIAN_FRONTEND=noninteractive apt-get -y install libpam-ldap nscd ldap-utils libnss-ldapd
Конфигурация - /etc/nslcd.conf
uid nslcd gid nslcd uri ldaps://ldap-srv.example.com base dc=fuel_domain ldap_version 3 binddn uid=nssproxy-node3,ou=service_users,dc=customer_organization,dc=fuel_domain bindpw node3 tls_reqcert never nss_initgroups_ignoreusers ALLLOCAL bind_timelimit 3 timelimit 3
Если используется TLS то нужен сертификат (подробнее в секции про TLS)
tls_cacertfile /etc/ssl/certs/rootca.crt
Если есть желание что бы getent shadow показывал хеши паролей - то нужно добавить опцию
map shadow userPassword userPassword
Аналогично предыдущему варианту настройки: /etc/nsswitch.conf
passwd: ldap files group: ldap files shadow: ldap files
Для PAM нужен /etc/ldap.conf и /etc/ldap.secret (с паролем)
uri ldaps://ldap-srv.example.com base dc=fuel_domain ldap_version 3 rootbinddn uid=nssproxy-node3,ou=service_users,dc=customer_organization,dc=fuel_domain tls_cacertfile /etc/ssl/certs/rootca.crt
После окончания настройки - рестартовать оба сервиса, nscd и nslcd
/etc/init.d/nslcd restart * Restarting LDAP connection daemon nslcd
root@node-2:/etc# /etc/init.d/nscd start * Starting Name Service Cache Daemon nscd
Автосоздание домашних директорий
Нужно в любом случае
/etc/pam.d/common-account:
session required pam_mkhomedir.so skel=/etc/skel/ umask=0022