Authn.tech
首页
  • SAML 2.0
  • OAuth 2.0
  • OIDC
  • WebAuthn / Passkey
  • MFA / TOTP
  • LDAP
  • 工具总览
  • JWT 解析
  • JWT 签名
  • JWK 生成
  • JWK → PEM
  • PEM → JWK
  • PKCE 生成
  • OIDC Discovery
  • TOTP
  • WebAuthn
  • SAML 编解码
  • SAML Metadata
  • SAML Response
  • X.509 证书
  • PEM 解析
  • Base64URL
  • LDAP 过滤器
  • 概览 / 角色术语
  • OIDC Mock
  • SAML Mock
  • 邮件服务器
  • LDAP 目录
  • OIDC 登录演示
  • SAML 登录演示
  • 简体中文
  • English
  • Deutsch
GitHub
首页
  • SAML 2.0
  • OAuth 2.0
  • OIDC
  • WebAuthn / Passkey
  • MFA / TOTP
  • LDAP
  • 工具总览
  • JWT 解析
  • JWT 签名
  • JWK 生成
  • JWK → PEM
  • PEM → JWK
  • PKCE 生成
  • OIDC Discovery
  • TOTP
  • WebAuthn
  • SAML 编解码
  • SAML Metadata
  • SAML Response
  • X.509 证书
  • PEM 解析
  • Base64URL
  • LDAP 过滤器
  • 概览 / 角色术语
  • OIDC Mock
  • SAML Mock
  • 邮件服务器
  • LDAP 目录
  • OIDC 登录演示
  • SAML 登录演示
  • 简体中文
  • English
  • Deutsch
GitHub
  • LDAP

    • LDAP 概述
    • 核心概念
    • 典型流程
    • 参数与语法参考

LDAP 参数与语法参考

搜索过滤器(RFC 4515)

形式含义示例
(attr=value)相等(uid=alice)
(attr=*)属性存在(present)(mail=*)
(attr=a*b*c)子串(* 通配)(cn=Al*)、(mail=*@example.com)
(attr>=value)大于等于(uidNumber>=1000)
(attr<=value)小于等于(uidNumber<=2000)
(attr~=value)近似匹配(cn~=alise)
(&(f1)(f2)…)逻辑与 AND(&(objectClass=person)(uid=alice))
(|(f1)(f2)…)逻辑或 OR(|(uid=alice)(uid=bob))
(!(f))逻辑非 NOT(!(objectClass=computer))
(attr:rule:=value)扩展匹配AD 位与:(userAccountControl:1.2.840.113556.1.4.803:=2)

值转义:特殊字符必须转成 \ + 两位十六进制——*→\2a、(→\28、)→\29、\→\5c、NUL→\00。过滤器构建器 会自动转义。

常见属性

属性含义
dcdomainComponent(如 dc=example,dc=com)
ouorganizationalUnit(组织单元/容器)
cncommonName(通用名)
sn / givenName姓 / 名
uid用户 ID
mail邮箱
member / memberOf组成员 DN / 用户所属组
objectClass条目类型(多值)
userPassword口令(通常不可读)
sAMAccountName / userPrincipalNameAD 登录名 / UPN

常见 objectClass

objectClass用途
top所有条目的抽象基类
domain / dcObject域组件条目
organizationalUnit容器 / OU
person → organizationalPerson → inetOrgPerson人员(逐级扩展属性)
groupOfNames / groupOfUniqueNames组(用 member 列成员)
posixAccount / posixGroupUnix 账号/组(uidNumber 等)

LDAP URL(RFC 4516)

ldap://host:port/base?attributes?scope?filter
ldaps://ldap.example.com/ou=people,dc=example,dc=com?cn,mail?sub?(uid=alice)

scope 取 base / one / sub。

常见结果码

码名称含义
0success成功
32noSuchObjectbase DN 不存在
49invalidCredentialsbind 失败(DN/密码错)
34invalidDNSyntaxDN 语法错误
50insufficientAccessRights权限不足
4sizeLimitExceeded超过返回条数上限
19constraintViolation违反约束(如密码策略)

ldapsearch 速用

# 搜索(LDAPS + 服务账号)
ldapsearch -H ldaps://ldap.example.com -x \
  -D "cn=reader,ou=apps,dc=example,dc=com" -w '****' \
  -b "dc=example,dc=com" -s sub "(&(objectClass=person)(departmentNumber=eng))" cn mail

# 验证某用户密码(simple bind,能连上即密码正确)
ldapwhoami -H ldaps://ldap.example.com -x \
  -D "uid=alice,ou=people,dc=example,dc=com" -w '****'

想直接试:过滤器构建器 + Mock LDAP(示例目录 dc=example,dc=com)。

最近更新: 2026/7/6 08:43
贡献者: linux, Claude Opus 4.8
Prev
典型流程