来自 ldap 的基于 dn 的 linux 组

来自 ldap 的基于 dn 的 linux 组

有没有办法使用 LDAP 的基于 DN 的组之一来表示 Linux 组,而不是使用基于 uid 的 posixGroup 对象类?

更广泛地说,有没有什么方法可以避免拥有一组用于支持 Linux 帐户的组和一组供其他所有帐户使用的平行组?

答案1

是的。

在您的 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

答案2

要获取groupOfMembers架构,您可以从 rfc 中提取或使用这个已为您完成,并将其保存到/etc/openldap/schema/rfc2307bis.schema。此架构取代了nis架构,因此请先删除 架构。

如果你使用cn=config后端

  1. convert-schema.conf创建包含 以下内容的文件
    包括/etc/openldap/schema/core.schema
    包括 /etc/openldap/schema/cosine.schema
    包括/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
    • 删除末尾的七行(structuralObjectClassmodifyTimestamp
  6. 导入模式 ldif:
    ldapadd -f rfc2307bis.ldif -D "cn=admin,cn=config" -W

相关内容