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

您可以在这些设置中使用较短的目录服务器命令。例如,要创建一个用户帐户:

# dsidm server1 user create

如果没有 ~/.dsrc 文件,则必须在命令中指定绑定 DN、LDAP URL 和基本 DN:

# dsidm -D cn=Directory Manager ldap://server1.example.com -b "dc=example,dc=com" user create

1.4.2. 使用 dsctl 工具创建一个 .dsrc 文件

您可以使用 dsctl dsrc create 命令创建 ~/.dsrc 文件,而不是手动创建它。下表列出了该命令的最常见选项:

Expand
表 1.1. Common dsctl dsrc create options
选项描述

--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-localhost.socket

当您设置目录服务器套接字的路径时,在路径中使用 %02 而不是斜杠 (/)

重要
在使用 ldapi URL 时,服务器标识运行 Directory Server 命令行实用程序的用户的用户 ID (UID)和组 ID (GID)。如果您以 root 用户身份运行该命令,UID 和 GID 为 0, Directory 服务器会自动作为 cn=Directory Manager 进行身份验证,而无需输入对应的密码。

--starttls

配置实用程序以连接到 LDAP 端口,然后发送 STARTTLS 命令来切换到加密的连接。

--basedn

设置基础可分辨名称(DN)。

示例:

--basedn "dc=example,dc=com"

--binddn

设置绑定 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 会话中的服务器证书上执行的。

可用的参数如下:

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

--saslmech

设置要使用的 SASL 机制。只有两个参数可用: PLAINEXTERNAL

示例:

--saslmech PLAIN

流程

  • 要创建 .dsrc 文件,请运行:

    # dsctl <instance_name> dsrc create --uri ldap://server.example.com --basedn "dc=example,dc=com" --binddn "cn=Directory Manager" --pwdfile /root/rhds.pwd 

您可以在保护目录服务器连接时远程和本地调用目录服务器命令。当您运行指定了 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

© 2026 Red Hat
返回顶部