LinuxBegin.ru - offline-версия от 26.04.2004
Главная | Все темы | Все статьи | Ссылки | Аналоги Windows-программ в Linux | Top 20

Повесть о Linux и аутентификации пользователей через Novell e-Directory.
(Серверное ПО, маршрутизация, samba, ...)


- Иван Песин, 1.07.2003, Linux Gazette -

Введение

Цель статьи - описать настройку системы аутентификации пользователей 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 address> ip-адрес сервера Novell e-Directory
base <context> Базовый контекст сервера, откуда начинается поиск
binddn <credentials> Специальный пользователь для подключения системы к Novell e-Directory. Должен иметь права на чтение всех атрибутов, а если вы хотите иметь возможность изменять пароли командой passwd, то и права на запись
bindpw <password> Пароль специального пользователя
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.

Просмотров: 1661  |  Рейтинг статьи: 2.5 (Голосов: 2).
2.5
Дата размещения статьи: 2003-07-03 15:21:32



5 последних поступлений в раздел Серверное ПО, маршрутизация, samba, ...:

26.02.04: Настройка сервера SSH (теория и практика) (Начнем, как обычно, с теории. SSH предоставляет 3 способа аутентификации клиента: по ip адресу клиент...)
26.02.04: Бекап файловой системы Linux-сервера с помощью rsync. (rsync работает только при установке его на обоих серверах - A и B. Для начала нужно определиться, что...)
05.02.04: Инструкции по настройке аутентификации с помощью LDAP (Любая операционная система, производящая аутентификацию наподобие UNIX, нуждается в хранении такого ж...)
02.02.04: Настройка принт-сервера на базе FreeBSD (Имеем: Компьютер P-75, 16MB RAM, HDD мин. треб, 2 lpt порта (2-й порт появился путем добавления isa м...)
22.01.04: Настройка vsftpd. (Я думаю, каждый понимает о необходимости ftp сервера. И меня не миновало :). Свой выбор я остановил н...)

Комментарии:

LinuxBegin.ru © 2003-2004 Valery V. Kachurov | Условия использования материалов | О проекте