3

我正在使用ldapsearch获取半径秘密,但它给出了截断的结果

我正在使用的命令是:

./ldapsearch -p 1545 -Z -X -D "cn=Directory Manager" -w passwd -b "o=platform" "(objectClass=*)" | grep -i secret

产生的结果是:

ss-secret=ahksdf6fakh7fajkfhaffjkfjfhafajkfh234578fajf171jkh25/525jhsfasjh8jjk7

LDAP 中的实际值是

ss-secret=ahksdf6fakh7fajkfhaffjkfjfhafajkfh234578fajf171jkh25/525jhsfasjh8jjk7afjfh8/gSqtulkjfa8lfjakl3

我正在使用 OpenDJ LDAP。

4

4 回答 4

7

尝试“ldapsearch -o ldif-wrap=no ...”。

在手册页中搜索“wrap”。

我在 debian 的 ldap-utils 包中使用 OpenLDAP。

于 2017-05-25T23:04:49.210 回答
2

使用 -T 参数,如

./ldapsearch -p 1545 -T -Z -X -D "cn=Directory Manager" -w passwd -b "o=platform" "(objectClass=*)" | grep -i secret

这将为您提供完整的输出。

于 2015-10-08T18:52:30.777 回答
1

对于基于 Debian 的系统,您必须添加“-o ldif-wrap=no”
示例:ldapsearch -xLLL -o ldif-wrap=no -H ldap://hostname:port/
来自 ldapsearch ubuntu 16.04 的手册页:

-T path
将临时文件写入路径指定的目录(默认:/var/tmp/)

所以它与格式化输出没有关系

于 2019-03-08T10:13:54.867 回答
0

不幸的是,这些选项都不适合我。我去了可信赖的 sed 和 awk 并解决了这个问题。

ldapsearch options > outfile
## sed to remove the space at the beginning of wrapped lines.
sed -i 's/^ //g' outfile
## Awk to join the lines if 78
awk '{if(length($0) == 78) {printf $0} else {print $0} }' outfile > outfile.nowrap
于 2021-01-13T21:50:56.773 回答