Назад | Перейти на главную страницу

Решения для подключения Solaris / AIX к Active Directory?

Мне нужно, чтобы системы Solaris и AIX получали службы аутентификации и имен для AD. У меня был некоторый успех с Solaris использование OpenLDAP в качестве прокси для аутентификации пользователя. Я также успешно настроил AIX для использования аутентификации AD kerberos и служб имен AD LDAP. Однако для обеих платформ у меня есть две серьезные проблемы, по которым мне нужна помощь:

  1. Пользователи / группы AD могут быть в верхнем или нижнем регистре или в любой их комбинации, но для единообразного взаимодействия с конечным пользователем и утилит, работающих должным образом в UNIX, они должны быть в нижнем регистре. Массовое переименование идентификаторов в AD сложно продать. Linux sssd может использовать нижний регистр, а AIX / Solaris - нет.
  2. AIX и Solaris ожидают атрибут memberUid rfc2307 (например, memberUid = user1) для членов группы, тогда как AD использует атрибут rfc2307bis 'member' (например, member = cn = user1, dc = foo, dc = com). Есть ли способ с помощью OpenLDAP или иным образом перезаписать memberUid из member для клиентов Solaris / AIX? slapo-rwm может переписывать DN, но подобного преобразования вроде бы там нет.

Вы можете использовать Kerberos для сопоставления учетных записей AIX с именами / доменами AD. Эта страница IBM - хороший справочник по конфигурации AD и сервера. Тогда просто сделайте:

chuser auth_name = ADUSER auth_domain = example.com registry = KRB5Afiles SYSTEM = KRB5Afiles логин

(обратите внимание, что это немного отличается в AIX7.1, но хорошо работает в 6.1 и 5.3.)

Вот как мы аутентифицируемся в AD на моем рабочем месте, и это довольно просто в обслуживании, без необходимости подключения LDAP.

Учитывая мои требования, решение, которое мы в конечном итоге использовали, было модулем Contrib (оверлей) 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, и выходит за рамки того, что я мог бы с пользой предоставить здесь.

Поразмыслив над этой проблемой, я обнаружил, что идеального решения не существует, но это работает для нас. Обратите внимание, что это решение также хорошо работает для старых клиентов LDAP RHEL (pre-EL6), так как они не могут вводить имена пользователей в нижний регистр.