shell - 如何使用 ldapsearch 检查 UID 是否存在

标签 shell ldap

我想让一个 shell 脚本使用“ldapsearch”来比较文本文件中列出的 UID 和远程 LDAP 目录中的 UID。

我不是 shell 脚本专家,如果有任何帮助,我将不胜感激。以下循环遍历作为参数给出的文本文件,但是当我的文本文件中的 UID 在 LDAP 中不存在时,我需要回显。

#!/bin/sh

for i in `cat $1`;
  do ldapsearch -x -H ldaps://ldap-66.example.com -b ou=People,dc=crm,dc=example,dc=com uid=$i | grep uid: | awk '{print $2}';
  echo $i
done

最佳答案

试试:

#!/bin/sh

url="ldaps://ldap-66.example.com"
basedn="ou=People,dc=crm,dc=example,dc=com"

for i in `cat $1`; do
    if ldapsearch -x -H "$url" -b "$basedn" uid=$i uid > /dev/null
    then
        # Do nothing
        true
    else
        echo $i
    fi
done

关于shell - 如何使用 ldapsearch 检查 UID 是否存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11752516/

相关文章:

shell - 在 Vagrant 机器中设置路径

shell - hwclock:无法通过任何已知方法访问硬件时钟

java - 在 Java Web 应用程序中使用现有的 ldap 服务器对用户进行身份验证

java - 用 Java 清理 LDAP 查询

linux - 将 linux 命令输出分配给 python 2.6.6 中的变量

linux - 需要使用 bash shell 脚本批量重命名文件的帮助

java - 转换 ldap 日期

通过 LDAP 验证 NTLM 身份验证以检索用户名和域的 Java 方法

java - java 1.8.181版本如何禁用端点识别

shell - 如何在 fish shell 中使用compile_commands.json?