第 8 章 配置文件参考

您配置的大部分目录服务器功能位于 目录中的 cn=config 条目中。但是,对于某些功能,Directory 服务器会从配置文件中读取设置。本章描述了这些文件及其设置。

8.1. certmap.conf

如果您设置了基于证书的验证,/etc/dirsrv/slapd-instance_name/certmap.conf 文件管理目录服务器将证书动态映射到用户条目。

/etc/dirsrv/slapd-instance_name/certmap.conf 文件采用以下格式:

certmap alias_name            certificate_issuer_DN
alias_name:parameter_name     value

您可以为不同的证书签发者指定单独的设置。对于没有单独的配置的签发者 DN,将使用默认 条目中的设置。以下是默认条目所需的最小配置:

certmap default     default

另外,您可以为默认条目设置所有可用的参数。如果目录服务器没有在单独的配置中为签发者 DN 指定,则将使用它们。

例 8.1. 配置 default Entry 和 Specific Issuer DN

以下配置会为设置了 o=Example Inc.,c=US 签发者 DN 的证书单独设置。其他证书将使用默认条目中的设置。

certmap default         default
default:DNComps         dc
default:FilterComps     mail, cn
default:VerifyCert      on

certmap example         o=Example Inc.,c=US
example:DNComps

您可以设置以下参数:

DNComps

DNComps 参数决定目录服务器如何生成用于搜索目录中用户的基本 DN:

  • 如果证书的 subject 字段中的属性与基本 DN 匹配,请将 DNComps 参数设置为这些属性。使用逗号分隔多个属性。但是,DNComps 参数中的属性顺序必须与证书的主题的顺序匹配。

    例如,如果您的证书的 subject 是 e=user_name@example.com,cn=user_name,o=Example Inc.,c=US。而您希望 Directory 服务器使用 cn=user_name,o=Example Inc.,c=US 作为基本 DN,在搜索用户时,将 DNComps 参数设置为 cn, o c, o c.

    重要

    DNComps 参数中设置的属性值必须在数据库中唯一。

  • 如果无法从证书的 subject 字段生成基本 DN,则将该参数设为空值。在这种情况下,Directory 服务器会使用 FilterComps 参数中从 设置生成的过滤器来搜索整个目录中的用户。

    例如,如果证书的 subject 是 e=user_name@example.com,cn=user_name,o=Example Inc.,c=US,但 Directory 服务器将其数据存储在 dc=example,dc=com 条目中,Directory 服务器无法从证书的主体生成有效的基础 DN,因为所需组件不是主体的一部分。在本例中,将 DNComps 设置为空字符串,以搜索整个目录中的用户。

  • 注释掉或不设置此参数。如果证书的 subject 字段与 Directory 服务器中的用户的 DN 完全匹配,或者您想要使用 CmapLdapAttr 参数中的设置。

    或者,在 cn=config 条目中设置 nsslapd-certmap-basedn 参数,以使用硬编码的基本 DN。

FilterComps

此参数设置证书 Directory 服务器的 subject 字段中使用哪些属性来生成搜索过滤器来定位用户:

  • 将此参数设置为以逗号分隔的证书主题中使用的属性列表。目录服务器将在过滤器中的 AND 操作中使用这些属性。

    注意

    证书对象使用电子邮件地址的 e 属性,该属性在默认目录服务器架构中不存在。因此,Directory 服务器会自动将此属性映射到 mail 属性。这意味着,如果您在 FilterComps 参数中使用 mail 属性,Directory 服务器会从证书的主体中读取 e 属性的值。

    例如,如果证书的主题为 e=user_name@example.com,cn=user_name,dc=example,dc=com,o=Example Inc.,c=US,您想要动态生成 (&(mail=username@domain)(cn=user_name) 过滤器,将 FilterComps 参数设置为 mailcn

  • 如果参数被注释掉或设置为空值,则将使用 (objectclass=*) 过滤器。
verifycert

目录服务器会始终验证证书是否由可信证书颁发机构(CA)发出。但是,如果您还在 上将 verifycert 参数设置为,Directory 服务器还会验证证书是否与存储在用户的 userCertificate 二进制文件属性中的 Encoding 规则(DER)格式的证书匹配。

如果您没有设置此参数,请验证cert 被禁用。

CmapLdapAttr
如果您的用户条目包含存储用户证书的 subject DN 的属性,请将 CmapLdapAttr 设置为此属性名称。目录服务器将使用此属性和主题 DN 来查找用户。在这种情况下,没有根据 FilterComps 参数中的属性生成任何过滤器。
将路径名称设置为共享库或动态链路库(DLL)文件。只有在使用证书 API 创建自己的属性时,才使用此设置。这个参数已弃用,并将在以后的发行版本中删除。
InitFn
如果使用自定义库,则设置 init 功能的名称。只有在使用证书 API 创建自己的属性时,才使用此设置。这个参数已弃用,并将在以后的发行版本中删除。
重要

当目录服务器搜索匹配的用户时,搜索必须只返回一个条目。如果搜索返回多个条目,Directory 服务器会记录 多个匹配 错误,验证会失败。

详情请查看 Directory Server Administration Guide 中的对应部分。