LDAP
LDAP是什么
LDAP 的全称是 Lightweight Directory Access Protocol,「轻量目录访问协议」。
划重点,LDAP 「是一个协议」,约定了 Client 与 Server 之间的信息交互格式、使用的端口号、认证方式等内容。
LDAP的实现
而 「LDAP 协议的实现」,有着众多版本,例如微软的 Active Directory 是 LDAP 在 Windows 上的实现,AD 实现了 LDAP 所需的树形数据库、具体如何解析请求数据并到数据库查询然后返回结果等功能。再例如 OpenLDAP 是可以运行在 Linux 上的 LDAP 协议的开源实现。而我们平常说的 LDAP Server,一般指的是安装并配置了 Active Directory、OpenLDAP 这些程序的服务器。
可以想象成一个规定了字段的树形表。
LDAP的常见用途
- 集中用户管理:通过LDAP服务器集中管理用户账号和密码,可以简化网络管理和提高安全性。
- 组织结构和权限管理:可以在LDAP目录中存储组织结构信息和权限设置,便于管理大型组织的访问控制。
- 应用集成:许多应用程序,如邮件服务器、网络管理工具等,可以集成LDAP进行用户认证和授权。
LDAP常用缩写含义
openLDAP的增删改查
例:ldapmodify [ldap 服务器地址] [你的用户名] [你的密码] [ldif 文件的地址]
file name:barbara.ldif
dn: cn=barbara,dc=example,dc=org
objectClass: inetOrgPerson
cn: barbara
sn: Jensen
title: the world's most famous mythical manager
mail: bjensen@example.com
uid: bjensen
ldapadd -x -H ldap://127.0.0.2:389 -D "cn=admin,dc=example,dc=org" -w admin -f barbara.ldif
ldapsearch -x -H ldap://127.0.0.2:389 -b dc=example,dc=org -D "cn=admin,dc=example,dc=org" -w admin
ldapsearch -x -H ldap://127.0.0.2:389 -b dc=example,dc=org -D "cn=admin,dc=example,dc=org" -w admin "cn=*"
ldapdelete -x -H ldap://127.0.0.2:389 -D "cn=admin,dc=example,dc=org" -w admin "cn=barbara,dc=example,dc=org"
dn: cn=barbara,dc=example,dc=org
changetype: add
objectClass: inetOrgPerson
cn: barbara
sn: Jensen
title: the world's most famous mythical manager
mail: bjensen@example.com
uid: bjensen
ldapmodify -x -H ldap://127.0.0.2:389 -D "cn=admin,dc=example,dc=org" -w admin -f barbara.ldif
file name: addorg.ldif
dn: ou=People,dc=example,dc=org
changetype: add
objectclass: top
objectclass: organizationalUnit
ou: People
dn: ou=Servers,dc=example,dc=org
changetype: add
objectclass: top
objectclass: organizationalUnit
ou: Servers
file name: modify1.ldif
dn: cn=barbara,dc=example,dc=org
changetype: modify
replace: title
title: one of the world's most famous mythical manager
file name: modify2.ldif
dn: cn=barbara,dc=example,dc=org
changetype: modify
add: description
description: barbara description
file name: modify3.ldif
dn: cn=barbara,dc=example,dc=org
changetype: modrdn
newrdn: cn=babara
deleteoldrdn: 0
newsuperior: ou=People,dc=example,dc=org
openLDAP的密码更改
ldappasswd -x -H ldap://127.0.0.2:389 -D "cn=admin,dc=example,dc=org" -w admin "cn=barbara,dc=example,dc=org"
ldappasswd -x -H ldap://127.0.0.2:389 -D "cn=barbara,dc=example,dc=org" -w xxxx -s mima
file name: passwd.ldif
dn: cn=barbara,dc=example,dc=org
changetype: modify
replace: userPassword
userPassword: xinmima
ldapmodify -x -H ldap://127.0.0.2:389 -D "cn=barbara,dc=example,dc=org" -w mima -f passwd.ldif
R语言中使用openLDAP
将openLDAP命令打包成函数,并返回结果即可。

