LDAP

来自OmicsWiki
Yugan讨论 | 贡献2024年4月28日 (日) 02:23的版本
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳到导航 跳到搜索

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命令打包成函数,并返回结果即可。