Постановка задачи
- Авторизация пользователя на рабочем месте через единую базу данных LDAP
- Доступ пользователя с любой машины к своему профилю
- Интерфейс управления для неспециалиста
Сервер
В этом разделе я опишу действия по организации сервера LDAP
Установка необходимых пакетов
Что нам понадобится:
- net-nds/phpldapadmin
- net-fs/nfs-utils
Основные настройки
Добавляем доступ к ресурсу по nfs в файле /etc/exports
/mnt/share/ldaphome 192.168.0.0/24(rw,no_root_squash)
Шифрование пароля обязательно использовать crypt
Системная авторизация
Интерфейс управления
Рабочая станция
Необходимые пакеты
# emerge openldap pam_ldap nss_ldap
Системная авторизация
Добавить в файл /etc/pam.d/system-auth следующие строки
auth sufficient pam_ldap.so use_first_pass
account sufficient pam_ldap.so
password sufficient pam_ldap.so use_authtok
session optional pam_ldap.so
Содержимое файла /etc/ldap.conf примерно следующее
#host 127.0.0.1
#base dc=padl,dc=com
ssl start_tls
ssl on
suffix "dc=genfic,dc=com"
#rootbinddn uid=root,ou=People,dc=genfic,dc=com
uri ldaps://auth.genfic.com/
pam_password exop
ldap_version 3
pam_filter objectclass=posixAccount
pam_login_attribute uid
pam_member_attribute memberuid
nss_base_passwd ou=People,dc=genfic,dc=com
nss_base_shadow ou=People,dc=genfic,dc=com
nss_base_group ou=Group,dc=genfic,dc=com
nss_base_hosts ou=Hosts,dc=genfic,dc=com
scope one
Ключевым моментом перехода на авторизацию через LDAP является правка /etc/nsswitch.conf
passwd: files ldap
group: files ldap
shadow: files ldap
В случае проблем с авторизацией достаточно поправить только этот файл для отключения авторизации в LDAP
Профиль пользователя
Домашний каталог пользователя лежит на NFS
Графический вход в систему
Для менеджера сессий GDM полезно в файле /etc/X11/gdm/custom.conf дописать следующее
[greeter]
Browser=true
Это позволит получать листинг пользователей в темах, поддерживающих эту функцию