Добавить в избранное | Сделать стартовой страницей

Большая Linux библиотека для пользователей OS Linux и ПО для нее
Есть что сказать? Нужен совет? Посети наш форум.


При поддержке
Продвижение сайта
Продвижение сайта
Раскрутка сайта
Создание сайта
Оптимизация сайта
Интернет реклама
Аудит сайта
Администрирование сервера
настройка сервера
установка сервера
аренда сервера
Администрирование сервера
администрирование сервера
настройка сервера
аренда сервера
Rambler's Top100


Повесть о Linux и аутентификации пользователей через Novell e-Directory.

Автор : Иван Песин

Введение

Цель статьи - описать настройку системы аутентификации пользователей Linux-систем в едином хранилище Novell e-Directory. Примеры приведены для системы RedHat Linux 7.3 и Novell e-Directory 8.6.0 Предполагается, что у читателя имеется достаточный уровень подготовки по освещаемому вопросу.

Настройка Linux

Аутентификация пользователя Linux-систем в хранилище Novell e-Directory обеспечивается системой PAM, Pluggable Authentication Modules. Дополнительно устанавливаются модули nss_ldap и pam_ldap, которые поставляются вместе с операционной системой RedHat Linux 7.3

Процесс аутентификации пользователя и установки параметров сессии протекает следующим образом:

  1. Введенный пользователем пароль вместе с именем используется модулем pam_ldap для получения доступа к Novell e-Directory. Отказ в доступе свидетельствует о неверном имени или пароле.
  2. При помощи модуля nss_ldap система получает необходимые для работы данные, как то: uid, gid, homeDirectory, shell и др.
  3. При отсутствии каталога пользователя средствами системы PAM обеспечивается автоматическое его создание.

Итак, первым шагом является установка пакета nss_ldap. Он содержит необходимые модули для работы с сервером Novell e-Directory.

После установки пакета нужно отредактировать конфигурационный файл /etc/ldap.conf:

server 192.168.0.1
base ou=london,o=acme

binddn cn=ndsbrowser,ou=london,o=acme
bindpw ndspass

ssl yes
pam_password nds
nss_map_attribute userPassword authPassword

scope sub

В каталоге /etc/openldap/ также находится файл ldap.conf. Он должен содержать те же данные. Можно создать вместо него символическую ссылку:

# cd /etc/openldap && rm -f ldap.conf && ln -s /etc/ldap.conf

Рассмотрим конфигурационный файл более детально:

server ip-адрес сервера Novell e-Directory
base Базовый контекст сервера, откуда начинается поиск
binddn Специальный пользователь для подключения системы к Novell e-Directory. Должен иметь права на чтение всех атрибутов, а если вы хотите иметь возможность изменять пароли командой passwd, то и права на запись
bindpw Пароль специального пользователя
ssl yes Использовать шифрование
pam_password nds Указывает режим работы с Novell e-Directory
nss_map_attribute userPassword authPassword Задает отображение атрибутов
scope sub Задает режим поиска

Перейдем к настройке системы PAM (Pluggable Authentication Modules), подключаемых модулей аутентификации. Файлы настроек в системе RedHat Linux 7.3 расположены в каталоге /etc/pam.d/. Нам будет нужно внести изменения в файл system-auth. После необходимых настроек он должен выглядеть так:

#%PAM-1.0
auth        required      /lib/security/pam_env.so
auth        sufficient    /lib/security/pam_unix.so likeauth nullok
auth        sufficient    /lib/security/pam_ldap.so try_first_pass

auth        required      /lib/security/pam_deny.so

account     sufficient    /lib/security/pam_unix.so
account     [default=bad success=ok user_unknown=ignore service_err=ignore system_err=ignore] /lib/security/pam_ldap.so

password    required      /lib/security/pam_cracklib.so retry=3 type=
password    sufficient    /lib/security/pam_unix.so nullok use_authtok md5 shadow
password    sufficient    /lib/security/pam_ldap.so use_authtok
password    required      /lib/security/pam_deny.so

session     required      /lib/security/pam_limits.so
session     required      /lib/security/pam_unix.so
session     required      /lib/security/pam_mkhomedir.so skel=/etc/skel/ umask=0077
session     optional      /lib/security/pam_ldap.so

Это содержимое сообщает системе, что пользователя необходимо вначале проверить локальными средствами, а при ошибке попробовать аутентифицировать через Novell e-Directory. Обратите внимание на строку "session required /lib/security/pam_mkhomedir.so skel=/etc/skel/ umask=0077". Она обеспечит создание каталога пользователя и перенос базовых настроек.

Возможно, вам будет необходимо добавить свои специфические настройки, если вы используете другие дополнительные механизмы аутентификации. Учтите, что при запуске утилиты authconfig, данный файл будет перегенерирован и его настройки уничтожатся.

Следующим шагом настройки является настройка модуля nss_ldap.

Откройте файл /etc/nsswitch.conf в редакторе и найдите строки начинающиеся с passwd, shadow и group. Добавьте в конец соответствующих строк слово "ldap". Строки должны будут выглядеть примерно так:

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

Наконец, необходимо настроить систему шифрования SSL. Для этого скопируйте с тома SYS: сертификат сервера (файл RootCert.der) в каталог /usr/share/ssl/certs/. Выполните команду конвертации:

# openssl x509 -in /usr/share/ssl/certs/RootCert.der -inform DER -out  /usr/share/ssl/certs/RootCert.pem -outform PEM

Теперь добавьте сконвертированный сертификат в конфигурационный файл /usr/share/ssl/openssl.cnf. Для этого найдите в нем ключи "value certificate", "my private key" и сопоставьте им значение "/usr/share/ssl/certs/RootCert.pem". Например:

certificate     = /usr/share/ssl/certs/RootCert.pem # The CA certificate
private_key     = /usr/share/ssl/certs/RootCert.pem # The private key

Настройка Novell e-Directory

Переходим к настройке сервера Novell e-Directory. В конфигурации по-умолчанию версии 8.6.0 существует ошибка в преобразовании атрибутов NDS в атрибуты LDAP (Насколько мне известно, в версии 8.7.0 ошибка исправлена). Поэтому их нужно исправить вручную. Для этого запустите утилиту ConsoleOne и откройте свойства объекта "LDAP Group". Перейдите к закладке "Attribute Map" и добавьте такие соответствия (если есть старые соответствия, удалите их):

LDAP Attribute

NDS Attribute

loginShell

loginShell

uidNumber

uidNumber

gidNumber

gidNumber

Теперь создайте группу для пользователей Linux систем и укажите ее номер (GID) в закладке свойств "UNIX Profile".

Добавьте необходимых пользователей, указав в закладке свойств "UNIX Profile" необходимые значения UID, GID, shell, homeDirectory.

Вот и все. Можно регистрироваться в Linux системе пользователем, введенном на сервере Novell e-Directory.

Заключение.

Все упомянутые в статье торговые марки и продукты принадлежат их владельцам. Исследования по организации аутентификации Linux пользователей сервером Novell e-Directory велась в рамках моей работы в компании N-iX Newcomp GmbH.


Обсудить данную тему на нашем форуме "Все о Linux"