A.2. 比较条目
ldapcompare 检查条目,以查看指定的条目或条目是否包含特定值的属性。例如,这会检查条目的
sn
值是否为 Smith :
可以通过三种方式之一来指定 compare 属性:
- 直接在命令行中传递的单个 attribute:value 语句
sn:Smith
sn:Smith
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 直接 在命令行上传递的单个属性::base64value 语句,用于
jpegPhoto
或验证证书或 CRL 等属性jpegPhoto:dkdkPDKCDdko0eiofk==
jpegPhoto:dkdkPDKCDdko0eiofk==
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - attribute:file 语句指向包含属性比较值列表的文件,脚本会迭代列表
postalCode:/tmp/codes.txt
postalCode:/tmp/codes.txt
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
比较操作本身必须针对特定的条目或一组条目运行。单个条目 DN 可以通过命令行传递,也可以使用
-f
选项指定要比较的 DN 列表。
例 A.1. 比较一个属性值与一个条目
attribute-value 比较和 DN 都使用脚本传递。
ldapcompare -D "cn=Directory Manager" -W -p 389 -h server.example.com -x sn:smith uid=jsmith,ou=people,dc=example,dc=com comparing type: "sn" value: "smith" in entry "uid=jsmith,ou=people,dc=example,dc=com" compare TRUE
ldapcompare -D "cn=Directory Manager" -W -p 389 -h server.example.com -x sn:smith uid=jsmith,ou=people,dc=example,dc=com
comparing type: "sn" value: "smith" in entry "uid=jsmith,ou=people,dc=example,dc=com"
compare TRUE
例 A.2. 比较文件中的列表属性值
首先,创建适用于 possible
sn
值的文件。
jensen johnson johannson jackson jorgenson
jensen
johnson
johannson
jackson
jorgenson
然后,创建一个条目列表来比较值。
uid=jen200,ou=people,dc=example,dc=com uid=dsj,ou=people,dc=example,dc=com uid=matthewjms,ou=people,dc=example,dc=com uid=john1234,ou=people,dc=example,dc=com uid=jack.son.1990,ou=people,dc=example,dc=com
uid=jen200,ou=people,dc=example,dc=com
uid=dsj,ou=people,dc=example,dc=com
uid=matthewjms,ou=people,dc=example,dc=com
uid=john1234,ou=people,dc=example,dc=com
uid=jack.son.1990,ou=people,dc=example,dc=com
然后运行 脚本。
ldapcompare -D "cn=Directory Manager" -W -p 389 -h server.example.com -x sn:/tmp/surnames.txt -f /tmp/names.txt
# ldapcompare -D "cn=Directory Manager" -W -p 389 -h server.example.com -x sn:/tmp/surnames.txt -f /tmp/names.txt
comparing type: "sn" value: "jensen" in entry "uid=jen200,ou=people,dc=example,dc=com"
compare TRUE