Конфигурация OpenLDAP с использованием posixGroup и groupOfNames - PullRequest
0 голосов
/ 18 февраля 2020

Мое требование - добавить класс объектов posixGroup и groupofNames вместе, чтобы добавить группу LDAP с использованием LDIF. Поскольку оба класса являются STRUCTURAL и не могут быть добавлены.

Чтобы добиться этого, я использовал ссылку, о которой они упоминали, для создания customPosixGroup. https://devopsideas.com/openldap-linux-client-ldap-integration/

Шаги, которые они упомянули в ссылке:

Преодоление предостережения posixGroup и groupOfNames

Мы будем создавать объекты группы серверов из введите posixGroup в разделе ou = контейнер сервера. Posixgroup требуется для обеспечения перевода между номерами идентификаторов групп и их именами. Мы будем предоставлять доступ к серверам на основе членства в группах. Атрибут member posixGroup называется memberUID и просто перечисляет uid члена. Используя только это, на самом деле нет solid способа идентифицировать указанное c отличительное имя члена группы.

Проблема, с которой мы столкнулись, заключается в том, что атрибут memberOf является частью groupOfNames objectClass. Мы не можем использовать и posixGroup, и groupOfNames вместе, поскольку оба являются объектными классами STRUCTURAL (запись может иметь только один класс объектов STRUCTURAL).

Чтобы преодолеть это, нам нужно создать собственный объектный класс, который будет клоном posixGroup, но типа ВСПОМОГАТЕЛЬНЫЙ, а не структурный. Следовательно, мы сможем использовать groupOfNames вместе с пользовательской posixGroup, которая практически идентична posixGroup, за исключением типа класса.

PosixGroup существует в схеме nis, и поэтому мы внесем в нее изменения.

Создайте файл с именем schema_update.ldif со следующим содержанием

dn: cn={2}nis,cn=schema,cn=config
changetype: modify
add: olcObjectClasses
olcObjectClasses: {13}( 1.3.6.1.1.1.2.13 NAME 'customposixGroup' DESC 'Abstraction of a group of accounts' AUXILIARY MUST ( cn $ gidNumber ) MAY ( userPassword $ memberUid $ description $ member ) )

{2} обозначает порядок. Вы можете обратиться к /etc/ldap/slapd.d/cn\=config/cn\=schema ', чтобы получить это.

Мы назвали пользовательскую группу customposixGroup . Он содержит все атрибуты, которые являются частью posixGroup , за исключением типа класса, помеченного как «ВСПОМОГАТЕЛЬНЫЙ».

Запустите приведенную ниже команду, чтобы внести изменения,

ldapmodify -W -D cn=admin,cn=config -f schema_update.ldif

Я выполнил шаги и добавил customposixGroup, после чего добавил группу как

dn: cn=server_dev,ou=graylog,ou=rgroup,dc=rad,dc=com
objectclass: customposixGroup
objectclass: groupOfNames
cn: server_dev
gidNumber: 7000
description: Server Dev Group
member: uid=aron.francis,ou=People,dc=rad,dc=com

Затем на моей Linux стороне клиента находится sssd, который я настроил, но если я запрашиваю с помощью команды id , Здесь имя группы не отображается.

Мне потребовалась помощь, почему имя группы не отображается, когда я использую команду id из клиента LDAP.

Но если вместо этого я использую posixGroup customPosixGroup, а не класса объекта groupOfName, тогда отображается имя группы

Я пытаюсь настроить сервер Openldap, но я застрял в вышеупомянутом пункте. Мне нужна помощь по этому вопросу, а также я хотел знать, делал ли я какие-либо неправильные настройки. Если вам нужна дополнительная информация, пожалуйста, ответьте, чтобы я мог это предоставить.

1 Ответ

0 голосов
/ 28 февраля 2020

В конфигурации sssd есть опция, которая сообщает, какую группу следует проверить (значение по умолчанию - posixGroup [https://linux.die.net/man/5/sssd-ldap] ):

ldap_group_object_class = customposixGroup

После добавления опции перезапустите sssd и очистить кеш, используя sss_cache -E.

Надеюсь, это поможет

...