搜索

附录 A. 测试 Directory 服务器可用的脚本

download PDF

红帽目录服务器提供两个脚本,可用于在不同的压力或负载条件中 测试 目录服务器性能。测试脚本模拟不同的环境,使管理员能够在将配置或机器更改放入生产环境之前对其进行评估。

ldcltrsearch 都位于 /usr/bin 目录中。

A.1. ldclt(Load Stress Tests)

LDAP 客户端脚本(ldclt)在用户定义的场景中建立到服务器的多个客户端连接,以加载目录服务器。客户端操作包括目录添加、搜索、修改、修改、修改和删除,以及生成 LDIF 文件等设置操作。操作可以随机化 - 将和取消绑定作为随机用户,执行随机任务 - 为 目录模拟更现实的使用环境。

ldclt 工具测量持续处理操作的完成时间,以测量目录服务器的性能。通过使用多个线程,可以在高负载下测试性能。每个测试都执行相同类型的 LDAP 操作,但使用不同的设置(如不同的用户凭证、不同属性类型或大小)以及不同的目标子树。

除了定义 LDAP 操作变量外,管理员可以控制线程性能,以在服务器上设置特定的负载。

ldclt 工具专门用于自动测试,因此即使用于复杂的测试操作,其选项也广泛、灵活且易于编写。

注意

请记住,ldclt 是负载测试,因此使用了大量系统资源。该工具使用至少 8 MB 内存。根据线程数量、操作类型和其他配置设置,它可以使用更多内存。

根据操作类型和用于这些操作的目录数据,ldclt 可以设置自己的资源限值。有关管理系统资源限制的详情,请查看 ulimit 的 man page 和 getrlimit

ldclt 实用程序位于 /usr/bin 目录中。

A.1.1. 语法

ldlt-q-Q-v-V-Emax_errors-bbase_DN-hhost-pport-ttimeout-Dbind_DN-wpassword-oSASL_options-eexecution_params-amax_pending- nnumber_of_threads-iinactive_times-Nnumber_of_samples-Ierror_code-Ttotal_number_of_operations-rlow_range-Rhigh_range-ffilter-sscope-Sconsumer-P vendor_port-Wwait_time-Zcertificate_file

A.1.2. ldclt Options

表 A.1. ldclt Options
选项描述

-a max_pending_ops

以异步模式运行工具,且定义的最大待处理操作数。

-b base_dn

提供用于运行 LDAP 操作测试的基本 DN。如果未指定,则默认值为 dc=example,dc=com

-D bind_dn

ldclt 实用程序提供用于连接服务器的绑定 DN。

-e max_errors

在工具退出前,设置测试 LDAP 操作中允许发生的最多错误数。默认值为 1000。

-e execution_params

指定用于测试的操作类型和其他测试环境参数。-e 的可能值列在 表 A.2 “执行参数” 中。这个选项可以接受以逗号分隔的列表中多个值。

-f filter

提供一个 LDAP 搜索过滤器以用于搜索测试。

-h

指定要针对其运行测试的目录服务器的主机名或 IP 地址。如果未指定主机,则 ldclt 使用本地主机。

-I error_code

告知 ldclt 忽略与特定响应代码匹配的任何错误。例如,-I 89 告知服务器忽略错误代码 89。

-i inactivity_times

设定工具在退出前可以不活跃的时间间隔。默认情况下,此设置是 3,它转换为 30 秒(每个操作间隔为 10 秒)。

-N number_of_samples

设置要运行的迭代数量,即运行 10 秒测试周期数。默认情况下,这有限,只有在手动停止时,该工具才会退出。

-n number_of_threads

设置同时用于操作运行的线程数量。默认值为 10。

-O SASL_option

告知 工具使用 SASL 连接到服务器,并提供要使用的 SASL 机制。格式为 -o saslOption=valuesaslOption 可以有六个值之一:

* mech 是 SASL 身份验证机制

* authid,绑定到服务器的用户(Kerberos 主体)

* authzid,是一个代理授权(由服务器忽略,因为不支持代理授权)

* secProp,安全属性

* realm, Kerberos realm

* 标记

预期值取决于支持的机制。可以多次使用 -o 来为机制传递所有必需 SASL 信息。例如:

[literal,subs="+quotes,verbatim"] …​. -o "mech=DIGEST-MD5" -o "authzid=test_user" -o "authid=test_user" …​.

-P supplier_port

提供用来连接到供应商服务器以进行复制测试的端口。默认(如果没有指定)为 16000。

-p 端口

为要测试的目录服务器实例提供服务器端口号。

-Q

以"super"静默模式运行该工具。这会忽略由 ldclt 运行的操作中出现的任何错误。

-q

以静默模式运行该工具。

-R number

为范围设置高数字。

-R number

设置范围较低数量。

-S consumer_name

提供要连接的消费者服务器的主机名来运行复制测试。

-S 范围

给出搜索范围。与 ldapsearch 一样,值可以是 subtree、one 或 base。

-T ops_per_thread

设置每个线程允许的最大操作数。

-T timeout

为 LDAP 操作设置超时周期。默认值为 30 秒。

-V

以非常详细模式运行该工具。

-v

以详细模式运行该工具。

-W wait_time

ldclt 工具设置一个时间(以秒为单位),以便在一项操作完成后等待下一操作。默认值为 0,这意味着没有等待时间。

-w password

提供用于 -D 身份的密码,通过 -D 身份绑定到目录服务器进行测试。

-Z /path/to/cert.db

为测试连接启用 TLS,并指向 文件以用作证书数据库。

e 选项设置 ldclt 测试操作的执行参数。可以在逗号分隔列表中配置多个参数。例如:

-e add,bindeach,genldif=/var/lib/dirsrv/slapd-instance/ldif/generated.ldif,inetOrgPerson
表 A.2. 执行参数
参数描述

abandon

启动用于异步搜索请求的带外操作。

add

向 目录添加条目(ldapadd)。

append

使用 genldif 选项生成的 LDIF 文件的末尾附加条目。

ascii

生成 ASCII 7 位字符串。

attreplace=name:mask

运行修改操作,替换现有条目中的属性(名称)。

attrlist=name:name:name

指定要在搜索操作中返回的属性列表。

attrsonly=#

用于搜索操作,设置是否读取属性值。可能的值有 0(读取值)或 1(不读取值)。

bindeach

告知 ldclt 工具与它尝试的每个操作绑定。

only

告知 ldclt 工具仅运行 bind/unbind 操作。没有执行其他操作。

关闭

告诉工具关闭连接,而不是执行 unbind 操作。

cltcertname=name

指定用于 TLS 连接的 TLS 客户端证书名称。

commoncounter

使 ldclt 工具打开的所有线程共享相同的计数器。

counteach

告诉工具计算每个操作,而不只是成功执行。

delete

启动删除操作。

deref

为搜索操作添加解引用控制(搜索)。通过添加,这告知 ldcltsecretary 属性添加到新条目中,以允许解引用搜索。

dontsleeponserverdown

如果服务器停机,该工具可以非常快循环。

emailPerson

这会在生成的条目中添加 emailPerson 对象类。这只适用于 add 操作(-e add)。

esearch

执行精确搜索。

genldif=filename

生成要用于操作的 LDIF 文件。

imagesdir=path

为镜像提供一个测试要使用的位置。

incr

启用增量值。

inetOrgPerson

这会将 inetOrgPerson 对象类添加到生成的条目中。这只适用于 add 操作(-e add)。

keydbfile=file

包含要用于 TLS 连接的密钥数据库的路径和文件名。

keydbpin=password

包含用于访问密钥数据库的令牌密码。

noglobalstats

告知工具 打印定期全局统计数据。

noloop

不循环递增数字。

object=filename

来自输入文件的构建条目对象。

个人

这会将 个人 对象类添加到生成的条目。这只适用于 add 操作(-e add)。

random

告知 ldclt 实用工具使用所有随机元素,如随机过滤器和随机基本 DNS。

randomattrlist=name:name:name

告知 ldclt 实用程序从给定列表中选择随机属性。

randombase

告知 ldclt 实用程序从目录中选择随机基准 DN。

randombaselow=value

为随机生成器设置 low 值。

randombasehigh=value

为随机生成器设置高值。

randombinddn

告知 ldclt 实用程序使用随机绑定 DN。

randombinddnfromfile=file

告知 ldclt 实用程序使用从文件选择的随机绑定 DN。文件中的每个条目都必须具有适当的 DN-password 对。

randombinddnlow=value

为随机生成器设置 low 值。

randombinddnhigh=value

为随机生成器设置高值。

rdn=attrname:value

提供一个 RDN 以用作搜索过滤器。这代替了 -f 过滤器。

referral=value

设置操作的参考行为。有三个选项: on(allow referrals)、off(disallow referrals)或 rebind(attempt to connect)。

smoothshutdown

告知 ldclt 实用程序不会关闭其主要线程,直到 worker 线程退出为止。

字符串

告知 ldclt 实用程序创建随机字符串,而不是随机数字。

v2

告知 ldclt 实用程序将 LDAPv2 用于测试操作。

withnewparent

执行 modRDN 操作,重命名将新parent 设置为参数的条目。

randomauthid

使用随机 SASL 验证 ID。

randomauthidlow=value

为随机 SASL 身份验证 ID 设置 low 值。

randomauthidhigh=value

为随机 SASL 身份验证 ID 设置 high 值。

A.1.3. ldclt 的结果

ldclt 持续运行指定的任何操作,超过指定的线程数量。默认情况下,它将性能统计数据每十(10)秒打印到屏幕。

结果显示每个线程的平均操作数,每秒操作数,然后是该十秒窗口中运行的操作总数。

ldclt[process_id] Average rate: number_of_ops/thr (number_of_ops/sec), total: total_number_of_ops

例如:

ldclt[22774]: Average rate: 10298.20/thr  (15447.30/sec), total: 154473

ldclt 会每 15 分钟打印累积平均值以及工具退出的时间。

ldclt[22774]: Global average rate: 821203.00/thr  (16424.06/sec), total: 12318045
ldclt[22774]: Global number times "no activity" reports: never
ldclt[22774]: Global no error occurs during this session.
Catch SIGINT - exit...
ldclt[22774]: Ending at Wed Feb 24 18:39:38 2010
ldclt[22774]: Exit status 0 - No problem during execution.

有些操作(如添加)并使用详细输出选项,如 -v-V 输出其他数据到屏幕中。信息种类取决于操作类型,但它通常会显示执行该操作的线程以及操作调用的插件。例如:

ldclt -b ou=people,dc=example,dc=com -D "cn=Directory Manager" -w secret12 -e add,person,incr,noloop,commoncounter -r90000 -R99999 -f "cn=testXXXXX" -V

...
ldclt[11176]: T002: After ldap_simple_bind_s (cn=Directory Manager, secret12)
ldclt[11176]: T002: incremental mode:filter="cn=test00009"
ldclt[11176]: T002: tttctx->bufFilter="cn=test00009"
ldclt[11176]: T002: attrs[0]=("objectclass" , "person")
ldclt[11176]: T002: attrs[1]=("cn" , "test00009")
ldclt[11176]: T002: attrs[2]=("sn" , "toto sn")
...
ldclt[11176]: Average rate:   195.00/thr  (  195.00/sec), total:    1950
ldclt[10627]: Global average rate:  238.80/thr  (238.80/sec), total:   2388
ldclt[10627]: Global number times "no activity" reports: never
ldclt[10627]: Global no error occurs during this session.
Catch SIGINT - exit...
ldclt[10627]: Ending at Tue Feb 23 11:46:04 2010
ldclt[10627]: Exit status 0 - No problem during execution.

大多数错误由 ldclt 处理,而不中断测试。遇到的任何严重错误均以工具的退出状态列出,并在累计总量中返回。

Global no error occurs during this session.

发生的任何 LDAP 操作错误都会在线程内处理。连接错误会终止线程,而不影响整个测试。ldclt 实用程序计算遇到每个 LDAP 错误的次数;如果日志记录的总错误数超过 1000(默认),则脚本本身会出错。

可以配置 ldclt 响应 LDAP 错误的方法。使用 -E 选项为脚本设置不同的阈值,以便在遇到 LDAP 错误后出错。使用 -I 选项可告知脚本忽略所有线程中的指定 LDAP 错误代码。更改错误退出限制并忽略某些错误代码,您可以调整和改进测试脚本或测试配置。

A.1.4. 退出 ldclt 和 ldclt Exit Codes

ldclt 命令无限期地运行。脚本可以在少数情况下停止自身,如遇到严重运行时或初始化错误,从而达到 LDAP 错误的限制、使所有线程结束或达到操作或时间限制。

在命令完成后,运行的统计信息不会显示在命令完成前,可以通过退出的脚本或终止脚本。可以通过两种方式中断 ldclt 脚本。

  • 按 control-backslash(kbd:[^\])或 kill -3 会在不退出脚本的情况下打印当前统计信息。
  • 按 control-C(^C)或 kill -2 退出脚本并打印全局统计信息。

ldclt 脚本退出或中断时,它会返回一个退出代码以及统计信息和错误信息。

表 A.3. ldclt Exit Codes
退出代码描述

0

成功(无错误)。

1

操作遇到严重错误。

2

通过 工具传递的参数中出现错误。

3

该工具达到 LDAP 错误的最大数量。

4

该工具无法绑定到 Directory 服务器实例。

5

该工具无法加载 TLS 库来通过 TLS 连接。

6

有一个多线程(mutex)错误。

7

存在初始化问题。

8

该工具达到资源限值,如内存分配错误。

99

该脚本遇到未知错误。

A.1.5. 使用场景

它们提供了使用 ldclt 测试目录服务器的一般示例。在 ldclt 源文件中提供了带有更复杂的示例来测试脚本。您可以从 389 Directory Server 项目下载此文件 :https://github.com/389ds/389-ds-base/tree/master/ldap/servers/slapd/tools/ldclt/examples

每个 ldclt 命令都需要一组执行参数(取决于测试类型)和连接参数(对于每种操作类型相同)。例如:

# ldclt -e execution_parameters -h localhost -p 389 -D "cn=Directory Manager" -w secret -b "ou=people,dc=example,dc=com"

ldclt 运行时,它首先会显示该测试配置的所有参数。

Process ID         = 1464
Host to connect    = localhost
Port number        = 389
Bind DN            = cn=Directory Manager
Passwd             = secret
Referral           = on
Base DN            = ou=people,dc=example,dc=com
Filter             = "cn=MrXXX"
Max times inactive = 3
Max allowed errors = 1000
Number of samples  = -1
Number of threads  = 10
Total op. req.     = -1
Running mode       = 0xa0000009
Running mode       = quiet verbose random exact_search
LDAP oper. timeout = 30 sec
Sampling interval  = 10 sec
Scope              = subtree
Attrsonly          = 0
Values range       = [0 , 1000000]
Filter's head      = "cn=Mr"
Filter's tail      = ""

A.1.5.1. 生成 LDIF

ldclt 工具本身可用于生成可用于测试的 LDIF 文件。

注意

在生成 LDIF 文件时,ldclt 工具不会尝试连接到服务器或运行任何操作。

生成 LDIF 文件需要一个基本模板文件,供工具用于创建条目(-e 对象),然后是指定的输出文件(-e genldif)。

模板文件可以为条目属性赋予显式值,也可以使用变量。如果您希望提供条目属性的唯一值的简单方法,/usr/share/dirsrv/data 目录包含三个数据文件来生成 surname、名字和机构单元。这些值列表分别用于创建测试用户和目录树(dbgen-FamilyNamesdbgen-GivenNamesdbgen-OrgUnits )。这些文件可与 rndfromfileincrfromfileincrfromfile 选项一起使用。

模板文件的基本格式为:

# comment

attribute: string | variable=keyword(value)

变量可以是来自 A 到 H 的任何字母。可能的关键字列于 表 A.4 “ldclt Template LDIF File Keywords”

可使用 -e 对象 选项和其他可用参数(如 rdn)传递一些变量和关键字。

-e object=inet.txt,rdn='uid:[A=INCRNNOLOOP(0;99999;5)]'
表 A.4. ldclt Template LDIF File Keywords
关键字描述格式

RNDN

在指定范围内生成一个随机值(低 - high)和指定长度的。

RNDN(low;high;length)

RNDFROMFILE

从指定文件中任何可用值拉取随机值。

RNDFROMFILE(filename)

INCRN

在指定范围内创建连续值(低 - high)和给定长度的。

INCRN(低;high;length)

INCRNOLOOP

在指定范围(低 - high)和给定长度(不循环递增范围)内创建连续值。

INCRNOLOOP(low;high;length)

INCRFROMFILE

通过在指定文件中通过值递增来创建值。

INCRFROMFILE(filename)

INCRFROMFILENOLOOP

通过通过文件中的值递增值来创建值,而无需重新通过值进行循环。

INCRFROMFILENOLOOP(filename)

RNDS

生成给定长度的随机值。

RNDS(length)

例如,此模板从 /usr/share/dirsrv/data 中的示例文件拉取名称,并动态构建其他属性。

例 A.1. 模板文件示例

objectclass: inetOrgPerson
sn: [B=RNDFROMFILE(/usr/share/dirsrv/data/dbgen-FamilyNames)]
cn: [C=RNDFROMFILE(/usr/share/dirsrv/data/dbgen-GivenNames)] [B]
password: test[A]
description: user id [A]
mail: [C].[B]@example.com
telephonenumber: (555) [RNDN(0;999;3)]-[RNDN(0;9999;4)]

ldclt 命令,然后使用该模板构建带有 100,000 条目的 LDIF 文件:

# ldclt -b "ou=people,dc=csb" -e object=inet.txt,rdn='uid:[A=INCRNNOLOOP(0;99999;5)]' -e genldif=100Kinet.ldif,commoncounter

A.1.5.2. 添加条目

ldclt 工具可以添加与两个模板之一匹配的条目:

  • 个人
  • inetorgperson

-f 过滤器为用户条目设置 naming 属性格式。例如,-f "cn=MrXXXXX" 创建了一个名称,如 -f "cn=Mr01234"。将 personinetorgperson 参数与 -f 一起使用将创建一个基本条目。

objectclass: person
sn: ex sn
cn: Mr01234

可以使用 rdn 参数和 对象文件 创建更复杂的条目(适用于搜索和修改测试)。条目的完整选项范围包括在 第 A.1.5.1 节 “生成 LDIF” 中。rdn对象 参数提供要在目录中添加或编辑的条目的格式。rdn 执行参数采用关键字模式(如 表 A.4 “ldclt Template LDIF File Keywords”中列出的),并从文本文件中列出的条目中提取其条目。

-e rdn='uid:[A=INCRNNOLOOP(0;99999;5)]',object=inet.txt

ldclt 工具在数字序列中创建条目。这意味着添加这些条目和计算序列的方法也必须定义。其中的一些可能选项包括:

  • -R 和 -R 可设置条目的数字范围
  • 设置分配数字的方法(仅与 -f 一起使用)
  • -R 和 -R 可设置条目的数字范围
  • noloop,要在它达到范围末尾而不是循环后端时停止添加操作

例 A.2. 添加条目

# ldclt -b ou=people,dc=example,dc=com -D "cn=Directory Manager" -w secret -e add,person,incr,noloop,commoncounter -r0 -R99999 -f "cn=MrXXXXX" -v -q

add 操作也可用于构建用于更复杂的测试的目录树。每当属于不存在的分支的目录中添加条目时,ldclt 工具会自动创建该分支条目。

注意

第一次添加条目是不存在分支的子项,分支条目会添加到 目录中。但是,条目本身不会被添加。后续条目将添加到新分支中。

若要自动添加分支条目,其 naming 属性必须是 cnoou

例 A.3. 创建 Directory Tree

# ldclt -b ou=DeptXXX,dc=example,dc=com -D "cn=Directory Manager" -w secret -e add,person,incr,noloop,commoncounter -r0 -R99999 -f "cn=MrXXXXX" -v -q

A.1.5.4. 修改操作

attreplace execution 参数替换条目中的特定属性。

修改操作使用 RDN 过滤器来搜索要更新的条目。rdn对象 参数提供要在目录中添加或编辑的条目的格式。rdn 执行参数采用关键字模式(如 表 A.4 “ldclt Template LDIF File Keywords”中列出的),并从文本文件中列出的条目中提取其条目。

例 A.9. 修改操作

# ldclt -h localhost  -p 389 -D "cn=Directory Manager" -w secret -b "ou=people,dc=example,dc=com" -e rdn='uid:[RNDN(0;99999;5)]' -I 32 -e attreplace='description: random modify XXXXX'

A.1.5.5. modrdn 操作

ldclt 命令支持两种类型的 modrdn 操作:

  • 重命名条目
  • 将条目移动到新父项

ldclt 程序从随机选择的 DN 中创建新条目名称或父级。

基本重命名操作需要三个执行参数:

  • rename
  • rdn='pattern'
  • object=file

rdn对象 参数提供要在目录中添加或编辑的条目的格式。rdn 执行参数采用关键字模式(如 表 A.4 “ldclt Template LDIF File Keywords”中列出的),并从文本文件中列出的条目中提取其条目。

例 A.10. simple Rename Operation

# ldclt -h localhost -p 389 -D "cn=Directory Manager" -w secret -b "ou=people,dc=example,dc=com" -I 32 -I 68 -e rename,rdn='uid:[RNDN(0;999;5)]',object="inet.txt"

使用 withnewparent execution 参数重命名条目,并将它移到新父条目的下方。如果父条目不存在,则 ldclt 工具会创建它。[3]

例 A.11. 重命名条目和移动到新并行

# ldclt -h localhost -p 389 -D "cn=Directory Manager" -w secret12 -b "ou=DeptXXX,dc=example,dc-com" -I 32 -I 68 -e rename,withnewparent,rdn='uid:Mr[RNDN(0;99999;5)]',object="inet.txt"

A.1.5.6. 删除操作

ldclt delete 操作与 add 操作完全相同。与添加一样,删除操作可以通过几种不同方式删除条目:

  • 随机(-e delete、random
  • RDN-ranges(-e delete,rdn=[pattern])
  • 顺序(-e delete、incr

随机删除配置为在指定范围条目内发生。这需要以下选项:

  • -e delete,random
  • -R 和 -R 用于范围绑定
  • -f 表示过滤器与条目匹配

例 A.12. 随机删除操作

# ldclt -b "ou=people,dc=example,dc=com" -D "cn=Directory Manager" -w secret -e delete,random -r0 -R99999 -f "uid=XXXXXX" -I 32 -v -q

基于 RDN 的删除使用 rdn 执行参数,使用关键字(如 表 A.4 “ldclt Template LDIF File Keywords”中列出的关键字),并从文本文件中列出的条目中提取其条目池。这个格式需要三个执行参数:

  • -e delete
  • -e rdn='pattern'
  • -e object='file'

例 A.13. 基于 RDN-based Delete Operations

# ldclt -b "ou=people,dc=example,dc=com" -D "cn=Directory Manager" -w secret -e delete,rdn='uid:[INCRNNOLOOP(0;99999;5)]',object="inet.txt" -I 32 -v -q

最后删除操作格式与随机删除格式类似,它只通过给定范围按顺序移动,而不是随机:

  • -e delete,incr
  • -R 和 -R 用于范围绑定
  • -f 表示过滤器与条目匹配

例 A.14. 后续删除操作

# ldclt -b "ou=people,dc=example,dc=com" -D "cn=Directory Manager" -w secret -e delete,incr -r0 -R99999 -f "uid=XXXXXX" -I 32 -v -q

A.1.5.7. 绑定操作

默认情况下,每个 ldclt 线程绑定一次到服务器,然后在一个会话中运行它的所有操作。v bindeach 可用于任何其他操作,以指示 ldclt 工具绑定每个操作,然后在启动下一个操作前取消绑定。

-e add,bindeach ...

要仅测试绑定和未绑定操作,请使用 -e bindeach、bindonly 执行参数且不执行其他操作信息。例如:

# ldclt -h localhost -p 389 -b "ou=people,dc=example,dc=com" -e bindeach,bindonly -e bind_info

bind 操作可在连接参数中使用 -D-w 用户名名称-密码对指定一个用户进行测试。

注意

-e close 选项与 bind 参数配合使用,以测试丢弃连接在 Directory 服务器上具有的影响,而不是完全取消绑定。

例 A.15. 仅限绑定和关闭测试

# ldclt -h localhost -p 389 -D "cn=Directory Manager" -w secret -e bindeach,bindonly,close

还可使用执行参数从给定文件(randombinddnfromfile)中选择随机绑定身份,或使用从范围(-e randombinddn,randombinddnlow=X,randombinddnhigh=Y)随机选择的 DN。

例 A.16. 从文件中标识的随机绑定

# ldclt -h localhost -p 389 -e bindeach,bindonly -e randombinddnfromfile=/tmp/testbind.txt

如果从生成的 LDIF 添加身份或使用 -e 添加 帐户,则带有随机身份的绑定很有用。ldclt 工具可以使用 X 作为变量来自动生成值,并通过指定范围递增。

例 A.17. 来自 Random 基本 DN 的随机绑定

# ldclt -h localhost -p 389 -e bindeach,bindonly -D "uid=XXXXX,dc=example,dc=com" -w testXXXXX -e randombinddn,randombinddnlow=0,randombinddnhigh=99999

A.1.5.8. 在 Random 基本 DN 上运行操作

任何操作都可以针对随机选择的基本 DN 运行。randombase 参数的 trio 设置要从中选择的机构单元范围。-b 基本条目中的变量设置基本 DN 的格式。

-b "ou=DeptXXX,dc=example,dc=com" -e randombase,randombaselow=0,randombasehigh=999 ...

A.1.5.9. TLS 身份验证

每项操作都可以通过 TLS 运行,以测试安全连接的安全身份验证和性能。TLS 身份验证需要两个参数。

  • 连接参数 -Z 提供目录服务器的安全数据库的路径
  • 执行参数、cltcertnamekeydbfilekeydbpin,其中包含服务器提示访问 TLS 数据库的信息

例如,这通过 TLS 运行 bind 测试:

# ldclt -h host -p port -e bindeach,bindonly -Z certPath -e cltcertname=certName,keydbfile=filename,keydbpin=password

A.1.5.10. abandon Operations

此时会打开 -e abandon 参数,然后取消服务器上的操作。这可以由自身运行,也可以使用其他类型的操作(如 -e add-e esearch)。

# ldclt -e abandon -h localhost -p 389 -D "cn=Directory Manager" -w secret -v -q -b "ou=people,dc=example,dc=com"


[3] 与 add 操作一样,工具第一次引用父条目时,会创建父条目,但不会 创建提示 add 操作的条目。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.