You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Gitlab或Ubuntu终端查看所有LDAP用户及其详细信息?

当然有办法啦!我来分Ubuntu终端和GitLab两个场景给你详细说明:

在Ubuntu终端查看LDAP用户详细信息

首先得先装个LDAP客户端工具,没装的话在终端跑这行命令:
sudo apt-get update && sudo apt-get install ldap-utils

接下来用ldapsearch这个核心命令来查询,基本用法是这样的:
ldapsearch -x -H ldap://你的LDAP服务器地址 -D "绑定用户DN" -W -b "搜索基准DN" "(objectClass=user)"

我给你拆解下每个参数的作用:

  • -x:用简单认证模式(不需要复杂的SASL认证)
  • -H:指定你的LDAP服务器地址,比如ldap://ldap.yourcompany.com
  • -D:绑定的管理员DN,比如cn=admin,dc=yourcompany,dc=com
  • -W:让你交互式输入绑定密码,避免明文写在命令里更安全
  • -b:搜索的起始位置(基准DN),比如你要查所有用户,就写ou=users,dc=yourcompany,dc=com
  • (objectClass=user):过滤条件,只返回用户类型的对象,你也可以改成(cn=张三)来精准查找某个用户

如果只想看CN、OU、DC这些特定属性,直接在命令末尾加上属性名就行,比如:
ldapsearch -x -H ldap://ldap.yourcompany.com -D "cn=admin,dc=yourcompany,dc=com" -W -b "ou=users,dc=yourcompany,dc=com" "(objectClass=user)" cn ou dc
这样返回的结果就只包含你需要的这些信息,不会乱糟糟的。

在GitLab中查看LDAP用户信息

GitLab本身和LDAP集成得很好,有两种方式可以查看:

1. 通过GitLab管理员界面

登录你的GitLab管理员账号,进入Admin Area(管理员区域),点击左侧菜单栏的Users,然后切换到LDAP标签页。这里会列出所有通过LDAP同步过来的用户,点进任意用户的详情页,就能看到他们的LDAP相关属性(包括CN、OU、DN这些信息)。

2. 通过GitLab Rails控制台批量查询

如果需要批量导出或者查看更底层的LDAP属性,可以用GitLab的Rails控制台:
先登录GitLab服务器的终端,运行:
sudo gitlab-rails console
然后执行这段Ruby代码(记得把ldapmain改成你GitLab配置里的LDAP提供者名称,比如你配置的是ldap1就换这个):

User.where(identities: { provider: 'ldapmain' }).each do |user|
  ldap_id = user.identities.find_by(provider: 'ldapmain')
  puts "用户名: #{user.name}, LDAP DN: #{ldap_id.extern_uid}"
  # 如果要获取更多LDAP原生属性,可以这么查:
  # ldap_entry = Gitlab::Auth::Ldap::Adapter.new('ldapmain').find_user(ldap_id.extern_uid)
  # puts "所属OU: #{ldap_entry.ou}, 域名DC: #{ldap_entry.dc}"
end

执行后就会批量输出所有LDAP用户的关键信息啦。

内容的提问来源于stack exchange,提问作者Rajana Deepak

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 07:46:14