1.4. 使用 .dsrc 文件管理目录服务器命令行工具的默认选项


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

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

您可以在 ~/.dsrc 文件中指定实例的 LDAP URL 和绑定 DN:

# 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.4.2. 使用 dsctl 工具创建一个 .dsrc 文件

您可以使用 dsctl 实用程序创建 ~/.dsrc 文件,而不是手动创建它。

流程

  • 运行:
# dsctl <instance_name> dsrc create ...
Copy to Clipboard Toggle word wrap

您可以在命令中添加这些选项:

  • --uri

使用 the- uri 选项时,将 URL 设置为实例,格式为 protocol://host_name_or_IP_address_or_socket

例如:

  1. --uri ldap://server.example.com
  2. --uri = ldaps://server.example.com
  3. --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 进行身份验证,而无需输入对应的密码。

  • --starttls

使用-- starttls 选项时,配置实用程序以连接到 LDAP 端口,然后发送 STARTTLS 命令以切换到加密的连接。

  • --basedn

使用基于 的 n 选项时,请设置基础可分辨名称(DN)。

例如 :--basedn dc=example,dc=com

  • --binddn

使用基于 的 n 选项时,设置绑定 DN。

例如 :--binddn cn=Directory Manager

  • --pwdfile

使用- pwdfile 时,将路径设置为包含绑定 DN 密码的文件的路径。

例如 :--pwdfile /root/rhds.pwd

  • --tls-cacertdir

使用 -tls-cacertdir 选项时,设置此参数中的路径,该参数定义具有证书颁发机构(CA)证书的目录(如果使用 LDAPS 连接,则需要验证服务器证书)。

例如 :--tls-cacertdir /etc/pki/CA/certs/

注意

只有在将 CA 证书复制到指定的目录时,您可以使用 c_rehash /etc/pki/CA/certs/ 命令。

  • --tls-cert

使用 --tls-certl 选项时,请将绝对路径设置为服务器证书的绝对路径。

例如 :--tls-cert /etc/dirsrv/slapd- <instance_name>/Server-Cert.crt

  • --tls-key

使用 the -tls-key 选项时,将绝对路径设置为服务器的私钥的绝对路径。

例如 :--tls-key /etc/dirsrv/slapd- <instance_name>/Server-Cert.key

  • --tls-reqcert

使用 --tls-reqcert 选项时,设置客户端实用程序在 TLS 会话中的服务器证书上执行哪些检查。

例如 :--tls-reqcert hard

这些参数可用:

  1. Never :实用程序不请求或检查服务器证书。
  2. Allow: 工具会忽略证书错误,并建立连接。
  3. hard: 实用程序终止证书错误的连接。

    • --saslmech

使用 the- saslmech 选项时,请将 SASL 机制设置为使用 PLAINEXTERNAL

例如 :--saslmech PLAIN

您可以在保护目录服务器连接时远程和本地调用目录服务器命令。当您运行指定了 LDAP URL 的目录服务器命令时,服务器会将其视为远程连接,并检查 /etc/openldap/ldap.conf 配置文件以及系统范围的设置以继续命令。

当您运行指定了实例名称的 Directory Server 命令时,服务器会检查 ~/.dsrc 文件是否存在,并应用以下逻辑来继续:

  1. 目录服务器将 ~/.dsrc 文件视为远程连接,并检查 /etc/openldap/ldap.conf 配置文件和系统范围的设置是否包含实例名称和 LDAP URL。
  2. 如果 ~/.dsrc 文件只包含指定的实例名称,则目录服务器将 ~/.dsrc 文件视为本地连接,并使用本地 dse.ldif 文件中的 nsslapd-certdir 设置来保护连接。如果 nsslapd-certdir 不存在,服务器使用默认路径 /etc/dirsrv/slapd- <instance_name> / 来存储实例的网络安全服务(NSS)数据库。
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat