1.8. 设置目录服务器配置参数

目录服务器将其配置存储在 cn=config 目录条目中。每个配置参数都是 LDAP 属性,参数的值是此属性中设置的值。

1.8.1. 管理配置参数

您可以通过以下方法设置、更新和删除配置参数:
  • 使用 dsconf 工具:
    注意
    红帽建议使用 dsconf 工具来管理目录服务器配置。

    例 1.1. 使用 dsconf设置配置参数

    例如,要将错误日志级别设置为 16384,请使用 dsconf 工具更新 nsslapd-errorlog-level 参数:
    # dsconf -D "cn=Directory Manager" ldap://server.example.com config replace nsslapd-errorlog-level=16384
    有关使用 dsconf 的详情,请查看 dsconf(8) man page。
  • 使用 LDAP 接口:

    例 1.2. 使用 LDAP 接口设置配置参数

    例如,要将错误日志级别设置为 16384,请使用 LDAP 接口更新 nsslapd-errorlog-level 参数:
    # ldapmodify -D "cn=Directory Manager" -W -x -H ldap://server.example.com:389
    
    dn: cn=config
    replace: nsslapd-errorlog-level
    nsslapd-errorlog-level: 16384
  • 编辑 /etc/dirsrv/slapd-instance_name/dse.ldif 文件。
    警告
    只要实例成功启动,请不要手动编辑此文件,因为这可能导致 Directory 服务器按预期工作,或者实例无法启动。

1.8.2. Directory 服务器存储其配置

目录服务器将 cn=config 条目中的配置存储在 /etc/dirsrv/slapd-instance_name/dse.ldif 文件中。服务器仅存储您在此文件中修改的参数。未列出的属性,使用它们的默认值。这可让您通过显示 /etc/dirsrv/slapd-instance_name/dse.ldif 文件来识别在这个实例中设置的所有配置参数。
重要
只要实例成功启动,不要手动编辑 /etc/dirsrv/slapd-instance_name/dse.ldif 文件。
有关如何编辑配置参数的详情,请参考 第 1.8.1 节 “管理配置参数”

1.8.3. 使用默认值的好处

如果没有设置参数,Directory 服务器将使用此参数的默认值。使用默认值的好处是,新版本通常会提供优化的设置并提高安全性。
例如,如果您没有设置 passwordStorageScheme 属性,Directory 服务器会自动使用最强大的支持的密码存储方案。如果将来的更新更改了默认值以提高安全性,当用户设置密码时,将使用新的存储方案自动加密密码。

1.8.3.1. 删除参数以使用默认值

如果设置了参数,且您想要使用默认值,请删除该参数:
# dsconf -D "cn=Directory Manager" ldap://server.example.com config delete parameter_name
重要
您无法删除某些参数,如 nsslapd-secureport 将它们重置为默认值。如果您尝试删除它们,服务器会拒绝带有服务器的请求 无法执行(53) 错误。

1.8.4. dsconf config backend 命令限制

dsconf config backend 命令检索和设置后端配置。该命令有以下参数:
  • get
  • set
dsconf config backend get 命令检索带有设置值的所有服务器后端配置属性,例如:
# dsconf -D "cn=Directory Manager" ldap://server.example.com:389 backend config get

nsslapd-lookthroughlimit: 5000
nsslapd-mode: 600
nsslapd-idlistscanlimit: 2147483646
…
注意
您只能使用 dsconf config backend get 命令获取完整的属性值,而不是指定属性的值。
dsconf config backend set 命令单独设置后端配置属性。要设置值,请指定与 LDAP 属性名称匹配的选项,例如:
# dsconf -D "cn=Directory Manager"  ldap://server.example.com:389 backend config set --lookthroughlimit 4000  --cache-autosize-split 24
以下是 dsconf backend config set 命令选项和 LDAP 属性名称映射:

表 1.1.  dsconf backend config set 命令选项和 LDAP 属性名称的映射

dsconf backend config set 命令选项 LDAP 属性名称
--lookthroughlimit nsslapd-lookthroughlimit
--mode nsslapd-mode
--idlistscanlimit nsslapd-idlistscanlimit
--directory nsslapd-directory
--dbcachesize nsslapd-dbcachesize
--logdirectory nsslapd-db-logdirectory
--txn-wait nsslapd-db-transaction-wait
--checkpoint-interval nsslapd-db-checkpoint-interval
--compactdb-interval nsslapd-db-compactdb-interval
--compactdb-time nsslapd-db-compactdb-time
--txn-batch-val nsslapd-db-transaction-batch-val
--txn-batch-min nsslapd-db-transaction-batch-min-wait
--txn-batch-max nsslapd-db-transaction-batch-max-wait
--logbufsize nsslapd-db-logbuf-size
--locks nsslapd-db-locks
--locks-monitoring-enabled nsslapd-db-locks-monitoring-enabled
--locks-monitoring-threshold nsslapd-db-locks-monitoring-threshold
--locks-monitoring-pause nsslapd-db-locks-monitoring-pause
--import-cache-autosize nsslapd-import-cache-autosize
--import-cachesize nsslapd-import-cachesize
--cache-autosize nsslapd-cache-autosize
--cache-autosize-split nsslapd-cache-autosize-split
--exclude-from-export nsslapd-exclude-from-export
--pagedlookthroughlimit nsslapd-pagedlookthroughlimit
--pagedidlistscanlimit nsslapd-pagedidlistscanlimit
--rangelookthroughlimit nsslapd-rangelookthroughlimit
--backend-opt-level nsslapd-backend-opt-level
--deadlock-policy nsslapd-db-deadlock-policy
--db-home-directory nsslapd-db-home-directory
--db-lib nsslapd-backend-implement