Основанные на dn linux группы от ldap

Есть ли способ использовать одну из основанных на DN групп LDAP для групп Linux вместо использования объектного класса posixGroup на основе uid?

В более широком смысле, есть ли способ избежать одного набора групп для поддержки учетных записей Linux и параллельного набора групп, который используется всем остальным?

2 ответа

Решение

Да.

В вашем конфигурационном файле nss_ldap установите nss_schema:

nss_schema rfc2307bis

На вашем сервере в схеме убедитесь, что класс объектов posixGroup является вспомогательным, а не структурным.

Затем вы можете использовать объектные классы groupofmembers(new) или groupofnames(old) и posixgroup для каждой группы. Каждый член будет в атрибуте члена:

dn: cn=foo,ou=Groups,dc=example
objectclass: top
objectclass: posixgroup
objectclass: groupofmembers
gidnumber: 9234
member: uid=bob,ou=people,dc=example
member: uid=alice,ou=people,dc=example

Чтобы получить groupOfMembers Схема, вы можете либо извлечь его из rfc, либо использовать тот, который был сделан для вас, и сохранить его в /etc/openldap/schema/rfc2307bis.schema, Эта схема заменяет nis схема, так что сначала удалите эту.

Если вы используете cn=config бэкенд

  1. создать файл convert-schema.conf содержащий
    включают /etc/openldap/schema/core.schema
    включают /etc/openldap/schema/cosine.schema
    include /etc/openldap/schema/rfc2307bis.schema
    
  2. создать каталог под названием /tmp/converted
  3. преобразовать схему в ldif: slaptest -f convert-schema.conf -F /tmp/convert/
    • Исправьте все ошибки, включая удаление апострофов в значениях и удаление ссылок на атрибут authPassword до slaptest преуспевает
  4. копия /tmp/convert/cn=config/cn=schema/cn={2}rfc2307bis.ldif в /etc/openldap/rfc2307bis.ldif
  5. модифицировать rfc2307bis.ldif
    • измените первую строку на dn: cn=rfc2307bis,cn=schema,cn=config
    • измените третью строку на cn: rfc2307bis
    • удалить семь строк в конце (structuralObjectClass через modifyTimestamp)
  6. импортировать схему ldif:
    ldapadd -f rfc2307bis.ldif -D "cn=admin,cn=config" -W
Другие вопросы по тегам