
Мне нужно, чтобы системы Solaris и AIX получили аутентификацию и службы имен в AD. У меня был некоторый успех с Solarisиспользование OpenLDAP в качестве проксидля аутентификации пользователя. Я также успешно настроил AIX для использования аутентификации AD Kerberos и служб именования AD LDAP. Однако для обеих платформ у меня есть две серьезные проблемы, по которым мне нужна помощь:
- Пользователи/группы AD могут быть в верхнем или нижнем регистре или в любой их комбинации, но для согласованного пользовательского опыта и работы утилит в UNIX, как ожидается, они должны быть в нижнем регистре. Массовое переименование идентификаторов в AD трудно продать. Linux sssd может делать это в нижнем регистре, но AIX/Solaris не могут.
- AIX и Solaris ожидают атрибут rfc2307 'memberUid' (например, memberUid=user1) для членов группы, в то время как AD использует атрибут rfc2307bis 'member' (например, member=cn=user1,dc=foo,dc=com). Есть ли способ с OpenLDAP или иным образом переписать memberUid из member для клиентов Solaris/AIX? slapo-rwm может переписывать DN, но преобразование таким образом, похоже, не предусмотрено.
решение1
Вы можете использовать Kerberos для сопоставления логинов AIX с именами/доменами AD.Эта страница IBMявляется хорошим справочником по AD и конфигурации сервера. Затем вы просто делаете:
chuser auth_name=ADUSER auth_domain=example.com registry=KRB5Afiles SYSTEM=KRB5Afiles login
(обратите внимание, что в AIX7.1 это немного отличается, но хорошо работает в 6.1 и 5.3.)
Именно так мы аутентифицируемся в AD на моем рабочем месте, и это довольно просто в обслуживании, не требуется привязка к LDAP.
решение2
Учитывая мои требования, мы в конечном итоге решили использовать дополнительный модуль OpenLDAP (оверлей) adremap, который есть в каждом исходном дистрибутиве OpenLDAP.см. эту ссылку. Мы заключили контракт с Symas, чтобы они разработали его и поместили в апстрим OpenLDAP. Этот оверлей будет записывать имена пользователей в нижнем регистре и динамически преобразовывать атрибуты участников rfc2307bis в memberUid. Если скомпилировать, страница руководства предоставит документацию по его использованию: man slapo-adremap
.
Я настроил OpenLDAP как прокси-сервер для AD с использованием наложения adremap (преобразование строчных букв, групп) и rwm ( man slapo-rwm
) для сопоставления атрибутов LDAP, которые требуются старым клиентам LDAP Solaris/AIX, с эквивалентами AD.
Конфигурация adremap используется:
overlay adremap
adremap-downcase uid
adremap-downcase cn
adremap-downcase memberUid
adremap-downcase member
adremap-downcase samaccountname
adremap-dnmap member cn memberUid group posixGroup person dc=example,dc=com
Частичная конфигурация наложения rwm:
rwm-map attribute gecos displayName
rwm-map attribute uid samAccountName
rwm-map attribute homedirectory unixHomeDirectory
rwm-map objectclass posixGroup group
rwm-map objectclass posixAccount user
Настройка OpenLDAP в качестве прокси-сервера описана в man slapd-ldap
, и выходит за рамки того, что я мог бы предоставить здесь.
Поразмыслив над этой проблемой некоторое время, я обнаружил, что идеального решения не существует, но это работает для нас. Обратите внимание, что это решение также хорошо работает для старых клиентов RHEL (до EL6) LDAP, поскольку они не могут использовать строчные буквы в именах пользователей.