1.11. 创建并使用 .dsrc File 为目录服务器命令行实用程序设置默认选项


~/.dsrc 文件简化了使用 Directory Server 命令行工具的命令。默认情况下,这些工具需要您传递,例如 LDAP URL 或将可分辨名称(DN)绑定到该命令。如果您将这些设置存储在 ~/dsrc 文件中,您可以使用命令行工具,而无需每次指定这些设置。

1.11.1. .dsrc 文件如何简化命令

以下是指定实例的 LDAP URL 和绑定 DN 的 ~/.dsrc 文件示例:
[server1]
uri = ldap://server1.example.com
binddn = cn=Directory Manager
basedn = dc=example,dc=com
Copy to Clipboard Toggle word wrap
使用这些设置,您可以使用较短的目录服务器命令。例如,要创建一个用户帐户:
# dsidm server1 user create
Copy to Clipboard Toggle word wrap
如果没有 ~/.dsrc 文件,则必须在命令中指定绑定 DN、LDAP URL 和基本 DN:
# dsidm -D cn=Directory Manager ldap://server1.example.com -b "dc=example,dc=com" user create
Copy to Clipboard Toggle word wrap

1.11.2. 使用 dsctl 实用程序创建 .dsrc 文件

您可以使用 dsctl 工具创建它,而不是手动创建 ~/.dsrc 文件:
# dsctl instance_name dsrc create ...
Copy to Clipboard Toggle word wrap
您可以将以下选项传递给命令:
  • --URI :设置实例的 URL,格式为 protocol://host_name_or_IP_address_or_socket
    示例:
    • --uri ldap://server.example.com
    • --uri = ldaps://server.example.com
    • --uri = ldapi://%%2fvar%%2frun%%2fslapd-instance_name.socket
      如果您设置了目录服务器套接字的路径,请在路径中使用 %%02 而不是斜杠(/)。
      重要
      如果您使用 ldapi URL,服务器会识别运行 Directory Server 命令行实用程序的用户 ID (UID)和组 ID (GID)。如果您以 root 用户身份运行该命令,UID 和 GID 为 0, Directory 服务器会自动作为 cn=Directory Manager 进行身份验证,而无需输入对应的密码。
  • --START TLS :设置将实用程序配置为连接到 LDAP 端口,然后发送 STARTTLS 命令来切换到加密连接。
  • --base DN :设置基础区分名称(DN)。例如 :--basedn dc=example,dc=com
  • --bind DN :设置绑定 DN。例如 :--binddn cn=Directory Manager
  • --pwdfile :设置包含绑定 DN 密码的文件的路径。例如 :--pwdfile /root/rhds.pwd
  • --TLS-cacertdir :当您使用 LDAPS 连接时,此参数中设置的路径定义验证服务器证书所需的证书颁发机构(CA)证书的目录。例如 :--tls-cacertdir /etc/pki/CA/certs/
    请注意,在将 CA 证书复制到指定目录后,您必须使用 c_rehash /etc/pki/CA/certs/ 命令。
  • --TLS-cert :设置服务器证书的绝对路径。例如 :--tls-cert /etc/dirsrv/slapd-instance_name/Server-Cert.crt
  • --TLS-key :设置服务器私钥的绝对路径。例如 :--tls-key /etc/dirsrv/slapd-instance_name/Server-Cert.key
  • --TLS-reqcert :设置客户端实用程序在 TLS 会话中的服务器证书执行的检查的内容。例如 :--tls-reqcert hard
    可用的参数如下:
    • Never :实用程序不请求或检查服务器证书。
    • Allow: 工具会忽略证书错误,并建立连接。
    • hard: 实用程序终止证书错误的连接。
  • --saslmech: 设置用于 PLAINEXTERNAL 的 SASL 机制。例如 :--saslmech PLAIN
在保护目录服务器连接时,务必要区分远程和本地调用目录服务器命令。
当您运行指定了 LDAP URL 的目录服务器命令时,服务器会将其视为远程连接,并检查 /etc/openldap/ldap.conf 配置文件以及系统范围的设置以继续命令。
当您运行指定了实例名称的 Directory Server 命令时,服务器会检查 ~/.dsrc 文件是否存在,并应用以下逻辑来继续:
  • 如果 ~/.dsrc 文件存在并同时包含实例名称和 LDAP URL,目录服务器会将其视为远程连接,并检查 /etc/openldap/ldap.conf 配置文件和系统范围的设置。
  • 如果 ~/.dsrc 文件存在,且仅包含指定的实例名称,或者 ~/.dsrc 文件不存在,则目录服务器将其视为本地连接,并使用本地 dse.ldif 文件中的 nsslapd-certdir 设置来保护连接。如果没有 nsslapd-certdir,服务器将使用默认路径 /etc/dirsrv/slapd-instance_name/ 来存储实例的网络安全服务(NSS)数据库。
有关 nsslapd-certdir 参数的更多信息,请参阅 nsslapd-certdir (Certificate and Key Database Directory) 部分。
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat