使用 OPENLDAP 服务器我想通过 ldapsearch 从中检索信息。我创建了一个名为 iduriclass 的自定义类,该类用于存储id和uri。在我的ldapsearch命令中,我希望它只返回指定id的uri。
示例:该目录现在包含两个条目id=test uri=server.com/test
和id=test2 uri=server.com/test2
尝试一下,我得到一个包含服务器中所有uris的 ldif 文件
我希望有一个ldapsearch命令,将test作为参数,并只返回一个值:server.com/test
答案 0 :(得分:12)
以下是查询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'
选项-LLL
不会在输出上打印ldap注释。如果ldap不支持-x
,则可能需要SASL
(简单身份验证)。
答案 1 :(得分:-1)
添加参数 -tt 会将请求的属性值仅作为请求的OP写入文件。没有前面的字段名称或其他任何内容路径可配置为 -T ,否则为/tmp
由于缺乏评论的声誉,我写了这个澄清。