使用ldapsearch只返回一个值

Red*_*eda 7 linux openldap

使用OPENLDAP服务器我想用ldapsearch从中检索信息.我创建了一个名为iduriclass的自定义类,该类用于存储id和uri.在我的ldapsearch命令中,我希望它只返回指定id的uri.

示例:该目录现在包含两个条目id=test uri=server.com/testid=test2 uri=server.com/test2

尝试它我得到一个包含服务器中所有uris 的ldif文件

我想要一个ldapsearch命令,将test作为参数,并返回一个值: server.com/test

alv*_*its 18

以下是查询ldap服务器的方法.

HOSTNAME=<your ladap hostname>
USERNAME=<your ldap username>
PASSWORD=<your ldap username's password>
SEARCHBASE=<your ldap's search base DN>
QUERYSTRING=test1
PORT=<your ldap port>

ldapsearch -LLL -h ${HOSTNAME} -p $PORT -D cn=${USERNAME} -w ${PASSWORD} -b "${SEARCHBASE}" "(id=${QUERYSTRING})" uri | sed -n 's/^[ \t]*uri:[ \t]*\(.*\)/\1/p'
Run Code Online (Sandbox Code Playgroud)

该选项-LLL不会在输出上打印ldap注释.-x如果不支持,您的ldap可能需要(简单身份验证)SASL.

  • 检查我的编辑。ldapsearch 将始终返回 dn:,因此通过管道传输到 sed 并将其删除,并且属性名称 uri: 仅留下属性值。 (2认同)

小智 5

添加参数-tt会写入一个仅包含 OP 请求的属性值的文件。没有前面的字段名称或其他任何内容。路径可使用-T配置,否则为/tmp