ADская дорога Linux
Аутентификация - один из самых важных сервисов в сетевой инфраструктуре. Она фактически стережет все ресурсы в вашей сети. Рабочие станции, приложения, принтеры и файлы не могут быть открыты и использованы без того, что бы система убедилась что человек имеет право на доступ к ним. Обычно для аутентификации в сети используется одна операционная система в интересах единообразия или выбирается наиболее подходящая в данных условиях, даже если она несколько затрудняет работу. Второй вариант, с различными операционными системами, обычно ничем хорошим не кончается - две, три, четыре системы аутентификации не внесут особого порядка в работу сети.
Один из путей упростить опознание пользователя - использовать единый источник для аутентификации всех систем, будь то Windows, Linux или Unix. Их все можно объединить в одну службу каталогов, например Active Directory или еDirectory. В данной статье опишем как унифицировать Linux и Active Directory. С малыми изменениями данный процесс может быть применен для работы Linux в eDirectory или любом другом LDAP сервисе.
Для работы используем:
Что же нам нужно для то, что бы Linux работал в AD?
Перейдем к конфигурации станции Linux для выполнения LDAP аутентификации в Active Directory. Запускаем rpm -Uvh nss_ldap-207-6.i386.rpm для установки NSS_LDAP, затем конфигурируем LDAP клиента для указания на контроллер домена и работы с AD.
Естественно, как и вов сех других случаях мы должны сконфигурировать пользователя для работы с системой. Во-первых группу надо переделать в POSIX группу (закладка Unix Attributes - NIS Domain и GID), во-вторых самого пользователя (Unix Settings, домашняя директория, обресетить пароль дабы они синхронизировались), в третьих занести пользователя в группу как Unix-ового пользователя (вернутся к групповым свойствам и добавить пользователя на закладке Unix Attributes). Ну и наконец пользователь на Linux не должен заходить в систему "по другим каналам", например по SSH. На этом весь процесс совмещения Linux и Active Directory фактически заканчивается, приведу только файлы конфигурации, которые могут понадобится в процессе работы:
Один из путей упростить опознание пользователя - использовать единый источник для аутентификации всех систем, будь то 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
Что же нам нужно для то, что бы 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 для выполнения 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 - это добавит возможность заходить суперпользователем на рабочую станцию в случае отказа сети.
Естественно, как и вов сех других случаях мы должны сконфигурировать пользователя для работы с системой. Во-первых группу надо переделать в POSIX группу (закладка Unix Attributes - NIS Domain и GID), во-вторых самого пользователя (Unix Settings, домашняя директория, обресетить пароль дабы они синхронизировались), в третьих занести пользователя в группу как Unix-ового пользователя (вернутся к групповым свойствам и добавить пользователя на закладке Unix Attributes). Ну и наконец пользователь на Linux не должен заходить в систему "по другим каналам", например по SSH. На этом весь процесс совмещения Linux и Active Directory фактически заканчивается, приведу только файлы конфигурации, которые могут понадобится в процессе работы: