1.4. 使用 .dsrc 文件管理目录服务器命令行工具的默认选项
~/.dsrc
文件简化了使用 Directory Server 命令行工具的命令。默认情况下,您可以将信息传递,例如 LDAP URL
或绑定区分名称(DN)到这些工具的命令。您可以将设置存储在 ~/.dsrc
文件中,以使用命令行工具,而无需每次指定这些设置。
1.4.1. .dsrc 文件如何简化命令 复制链接链接已复制到粘贴板!
您可以在 ~/.dsrc
文件中指定实例的 LDAP URL 和绑定 DN:
server1
# server1
uri = ldap://server1.example.com
binddn = cn=Directory Manager
basedn = dc=example,dc=com
您可以在这些设置中使用较短的目录服务器命令。例如,要创建一个用户帐户:
dsidm server1 user create
# 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
# dsidm -D cn=Directory Manager ldap://server1.example.com -b "dc=example,dc=com" user create
1.4.2. 使用 dsctl 工具创建一个 .dsrc 文件 复制链接链接已复制到粘贴板!
您可以使用 dsctl
实用程序创建 ~/.dsrc
文件,而不是手动创建它。
流程
- 运行:
dsctl <instance_name> dsrc create ...
# dsctl <instance_name> dsrc create ...
您可以在命令中添加这些选项:
-
--uri
使用 the- 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
进行身份验证,而无需输入对应的密码。
-
--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
这些参数可用:
-
Never
:实用程序不请求或检查服务器证书。 -
Allow
: 工具会忽略证书错误,并建立连接。 hard
: 实用程序终止证书错误的连接。-
--saslmech
-
使用 the- saslmech
选项时,请将 SASL 机制设置为使用 PLAIN
或 EXTERNAL
。
例如 :--saslmech PLAIN
1.4.3. 使用目录服务器工具时的远程和本地连接解析 复制链接链接已复制到粘贴板!
您可以在保护目录服务器连接时远程和本地调用目录服务器命令。当您运行指定了 LDAP URL 的目录服务器命令时,服务器会将其视为远程连接,并检查 /etc/openldap/ldap.conf
配置文件以及系统范围的设置以继续命令。
当您运行指定了实例名称的 Directory Server 命令时,服务器会检查 ~/.dsrc
文件是否存在,并应用以下逻辑来继续:
-
目录服务器将
~/.dsrc
文件视为远程连接,并检查/etc/openldap/ldap.conf
配置文件和系统范围的设置是否包含实例名称和 LDAP URL。 -
如果
~/.dsrc
~/.dsrc
文件视为本地连接,并使用本地dse.ldif
文件中的nsslapd-certdir
设置来保护连接。如果nsslapd-certdir
不存在,服务器使用默认路径 /etc/dirsrv/slapd- <instance_name> /
来存储实例的网络安全服务(NSS)数据库。