我的要求是将 posixGroup 和 groupofNames 对象类一起添加,它们使用 LDIF 添加 LDAP 组。由于这两个类都是 STRUCTURAL 并且无法添加。
为此,我使用他们提到的链接来创建 customPosixGroup。 https://devopsideas.com/openldap-linux-client-ldap-integration/
他们在链接中提到的步骤是
克服 posixGroup 和 groupOfNames 警告
我们将在 ou=server 容器下创建类型为 posixGroup 的服务器组对象。posixgroup 需要提供组 ID 号与其名称之间的转换。我们将根据组的成员身份提供对服务器的访问。posixGroup 的成员属性称为 memberUID,简单地列出了成员的 uid。仅使用这一点,确实没有可靠的方法来识别组成员的特定专有名称。
我们遇到的问题是,memberOf 属性是 groupOfNames objectClass 的一部分。我们不能同时使用 posixGroup 和 groupOfNames,因为它们都是 STRUCTURAL 对象类(一个条目只能有一个 STRUCTURAL 对象类)。
为了克服这个问题,我们需要创建一个自定义 objectClass,它将是 posixGroup 的克隆,但类型为 AUXILIARY 而不是 STRUCTURAL。因此,我们将能够使用 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 命令进行查询。这里没有显示组名。
当我从 LDAP 客户端使用 id 命令时,我想了解为什么没有显示组名。
但是,如果我使用 posixGroup 而不是 customPosixGroup 而不是 groupOfName 对象类,那么将显示组名
我正在尝试配置 Openldap 服务器设置,但我陷入了上述问题。我需要这方面的帮助,也想知道我是否做了任何错误的配置。如果您需要更多信息,请回复,以便我提供。