Для авторизации на сервере Calculate Linux Desktop клиенты используют протокол LDAP. В среде Unix это очень популярный протокол, поэтому добавить поддержку авторизации с любого Linux дистрибутива не составит труда. В примере я описал авторизацию Ubuntu клиентов.
Установим необходимые пакеты libpam-ldap
и libnss-ldap
:
sudo apt-get install libpam-ldap
sudo apt-get install libnss-ldap
При первой установке программа выводит диалог настройки. Нажимаем enter на все вопросы.
Создадим копии конфигурационных файлов:
cp /etc/ldap.conf /etc/ldap.conf.backup
cp /etc/nsswitch.conf /etc/nsswitch.conf.backup
Редактируем файл /etc/ldap.conf
. Его содержимое должно быть следующим:
host ip_адрес_ldap_сервера_или_его_dns_имя
base ou=Services,dc=calculate
rootbinddn ou=Unix,ou=Services,dc=calculate
binddn cn=proxyuser,dc=calculate
bindpw calculate
port 389
ldap_version 3
bind_policy soft
nss_base_passwd ou=Users,ou=Unix,ou=Services,dc=calculate?one?shadowFlag=1
nss_base_shadow ou=Users,ou=Unix,ou=Services,dc=calculate?one?shadowFlag=1
nss_base_group ou=Groups,ou=Unix,ou=Services,dc=calculate?one
nss_base_group ou=Groups,ou=Samba,ou=Services,dc=calculate?one
pam_password md5
Если на вашем CDS не настроен Samba сервис, то необходимо удалить строку:
nss_base_group ou=Groups,ou=Samba,ou=Services,dc=calculate?one
Редактируем файл /etc/nsswitch.conf
, приведя его к следующему виду:
passwd: files ldap
shadow: files ldap
group: files ldap
hosts: files dns
networks: files dns
services: files ldap
protocols: files ldap
rpc: db files
ethers: db files
netmasks: files
netgroup: files ldap
bootparams: files
automount: files ldap
aliases: files
Редактируем файл /etc/pam.d/common-session
. До редактирования в этом файле есть такие строки:
session required pam_unix.so
session optional pam_ldap.so
После редактирования должно быть так:
session required pam_unix.so
session required pam_mkhomedir.so skel=/etc/skel/
session optional pam_ldap.so
Проверяем существование LDAP пользователя:
id имя_пользователя_ldap
Если пользователь есть перезагружаем компьютер.