gpt4 book ai didi

bash - 带有输入文件的 ldapsearch 脚本

转载 作者:行者123 更新时间:2023-11-29 09:32:30 25 4
gpt4 key购买 nike

我有一个包含用户列表的文件。我想查询我们公司的ldap,看看我名单上的用户是否还在公司的ldap服务器上。

bash 脚本本质上会使用文件来使用名称来检查 ldaps 'cn',然后可能输出/打印到结果以确定哪些名称不再存在。

这听起来很简单,而且我熟悉执行基本的 ldapsearch 命令,但不确定我将如何开始编写脚本。

感谢所有帮助!

最佳答案

我已经完成了这个确切的任务,我的方法是:执行 ldapsearch 查询并获取 ldap 中有效用户的所有电子邮件。转换为小写、排序、删除重复项并存储在文件中。对要检查的用户列表执行相同操作。然后使用 comm 从 LDAP 中查找不在列表中的任何电子邮件。除非您有大量 LDAP 记录,否则此方法应该是最快的。这是代码:

LDAP_SERVER="ldap://YOUR.LDAP.SERVER:389"
LDAP_USER="QUERY_USER_NAME"
LDAP_PASSWORD="QUERY_PASSWORD"

ldapsearch -E pr=1000/noprompt -LLL -o ldif-wrap=no -x \
-b 'dc=example,dc=com' \
-H $LDAP_SERVER -D $LDAP_USER -w $LDAP_PASSWORD \
'(&(objectCategory=person)(objectClass=user)(Mail=*))' mail |\
awk '/^mail:/{print $2}' |\
tr '[:upper:]' '[:lower:]' |\
sort -u >ldap_emails

cat user_list |\
tr '[:upper:]' '[:lower:]' |\
sort -u >user_emails

comm -13 ldap_emails user_emails

关于bash - 带有输入文件的 ldapsearch 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50260352/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com