Аутентификация - один из самых важных
сервисов в сетевой инфраструктуре. Она
фактически стережет все ресурсы в вашей
сети. Рабочие станции, приложения, принтеры
и файлы не могут быть открыты и
использованы без того, что бы система
убедилась что человек имеет право на доступ
к ним. Обычно для аутентификации в сети
используется одна операционная система в
интересах единообразия или выбирается
наиболее подходящая в данных условиях, даже
если она несколько затрудняет работу.
Второй вариант, с различными операционными
системами, обычно ничем хорошим не
кончается - две, три, четыре системы
аутентификации не внесут особого порядка в
работу сети.
Один из путей упростить опознание
пользователя - использовать единый
источник для аутентификации всех систем,
будь то Windows, Linux или Unix. Их все можно объединить в
одну службу каталогов, например Active Directory
или еDirectory. В данной статье опишем как
унифицировать Linux и Active Directory. С малыми
изменениями данный процесс может быть
применен для работы Linux в eDirectory или любом
другом LDAP сервисе.
Для работы используем:
- Fedora Core 1 с клиентскими OpenLDAP утилитами и
библиотеками - новый NSS_LDAP
(библиотека, написанная на C, которая
позволяет использовать сервера
директорий LDAP как основной источник
алиасов, групп, имен хостов, сетей,
протоколов, пользователей, RPC, сервисов и
паролей вместо плоских файлов или NIS),
включенный в дистрибутив не работает - Windows Server 2003 как Active Directory Controller
- Microsoft's
Services for Unix 3.5
В Windows
Что же нам нужно для то, что бы Linux работал
в AD?
- Входим под админом
- Определяем свое положение в дереве.
Например: CN=Users,DC=LanRx,DC=com или CN=Users,DC=LanRxDomain,DC=LanRx,DC=com - Устанавливаем Services for Unix в стандартной
установке, security settings оставляем пустым, в
username mapping выбираем Local Username Mapping Server и Network
Information Services - свой домен. Перегружаемся. - Создаем пользователя,
для привязки Linux-а к AD.
В Linux
Перейдем к конфигурации станции Linux для
выполнения LDAP аутентификации в Active Directory.
Запускаем rpm -Uvh nss_ldap-207-6.i386.rpm для установки
NSS_LDAP, затем конфигурируем LDAP клиента для
указания на контроллер домена и работы с AD.
- mv /etc/ldap.conf /etc/ldap.orig для бекапа
- vi /etc/ldap.conf
- Пишем новый конфиг для совмещения POSIX и AD,
примерно так:
host 192.168.100.18
base cn=Users,dc=lanrx,dc=com
binddn cn=dirsearch,cn=Users, dc=lanrx,dc=com
bindpw D1rectory
scope sub
ssl no
nss_base_passwd cn=Users,dc=lanrx,dc=com?sub
nss_base_shadow cn=Users,dc=lanrx,dc=com?sub
nss_base_group cn=Users,dc=lanrx,dc=com?sub
nss_map_objectclass posixAccount user
nss_map_objectclass shadowAccount user
nss_map_attribute uid sAMAccountName
nss_map_attribute uidNumber msSFU30UidNumber
nss_map_attribute gidNumber msSFU30GidNumber
nss_map_attribute loginShell msSFU30LoginShell
nss_map_attribute gecos name
nss_map_attribute userPassword msSFU30Password
nss_map_attribute homeDirectory msSFU30HomeDirectory
nss_map_objectclass posixGroup Group
nss_map_attribute uniqueMember msSFU30PosixMember
nss_map_attribute cn cn
pam_login_attribute sAMAccountName
pam_filter objectclass=user
pam_member_attribute msSFU30PosixMember
pam_groupdn cn=unixusergroup,dc=lanrx,dc=com
pam_password ad
Это позволит наладить общение между
системами авторизации Windows и Linux. - Редактируем nsswitch.conf и требуемые там
строчки таковы:
shadow: files ldap
passwd: files ldap
group: files ldap - Запускаем authconfig для
конфигурирования Pluggable Authentication:
а) NSS информацию получаем из LDAP
б) отмечаем использование LDAP
в) в поле "Сервер" указываем адрес
сервера, TLS не отмечаем.
г) в BaseDN указываем положение пользователя
в дереве каталогов (пункт 2 из Windows).
д) для аутентификации выбираем LDAP
е) выбираем Use Shadow Passwords, Use MD5 Passwords, Use LDAP
Authentication. - Эта процедура запишет нам /etc/pam.d/system-auth.
Для завершения необходимо туда дописать
account sufficient /lib/security/pam_localuser.so - это добавит
возможность заходить суперпользователем
на рабочую станцию в случае отказа сети.
Управление AD
Естественно, как и вов сех других
случаях мы должны сконфигурировать
пользователя для работы с системой. Во-первых
группу надо переделать в POSIX группу (закладка
Unix Attributes - NIS Domain и GID), во-вторых самого
пользователя (Unix Settings, домашняя директория,
обресетить пароль дабы они
синхронизировались), в третьих занести
пользователя в группу как Unix-ового
пользователя (вернутся к групповым
свойствам и добавить пользователя на
закладке Unix Attributes). Ну и наконец
пользователь на Linux не должен заходить в
систему "по другим каналам", например
по SSH. На этом весь процесс совмещения Linux и
Active Directory фактически заканчивается, приведу
только файлы конфигурации, которые могут
понадобится в процессе работы: