LDAP Linux Auth Client

Материал из noname.com.ua
Перейти к навигацииПерейти к поиску

Клиентская часть - линуксбокс который будет авторизоваться в 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 ldap://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

Аналогично /etc/nsswitch.conf

passwd:         ldap files
group:          ldap files
shadow:         ldap files

Автосоздание домашних директорий

Нужно в любом случае

/etc/pam.d/common-account:

session    required   pam_mkhomedir.so skel=/etc/skel/ umask=0022


Ссылки