介绍
LDAP——轻量目录访问协议,一般用在企业内部用于保存员工信息和组织架构,同时可以作为个人电脑以及应用系统的统一认证和登录。官网
base dn 是LDAP目录树的最顶部,也就是树的根,一般使用公司的域名。
服务端
下面介绍 Ubuntu 上安装 LDAP 服务的步骤。
安装服务端
sudo apt update sudo apt install slapd ldap-utils
配置 LDAP 服务:
# 此命令可以重复执行 sudo dpkg-reconfigure slapd
以上命令会进入向导配置界面,根据需要选择以下选项:
- Omit OpenLDAP server configuration? [No]: No 选择 “No”,进行OpenLDAP服务器配置。
- DNS domain name: 输入您的域名,如
example.com
。 - Organization name: 输入您的组织名称。
- Administrator password: 输入LDAP管理员密码,确保密码复杂度强。
- Remove the database when slapd is purged? [No]: 根据您的需求选择是否删除数据库。
- Move old database? [Yes]: 根据您的需求选择是否移动旧数据库。
提醒:装好后执行 netstat –an| grep 389 检查服务是否起来了,但发现一直没起来,重启电脑后起来了!
安装 Web 管理界面 – phpldapadmin
# 1. 安装 apt-get install phpldapadmin -y # 2. 配置 vim /etc/phpldapadmin/config.php ================================================================= 修改的地方: $servers->setValue('server','base',array('dc=example,dc=com')); ================================================================= # 3. 关闭 apache 的默认界面 a2dissite 000-default.conf systemctl restart apache2
服务起来后,登陆管理页面:http://SERVER_IP/phpldapadmin。
页面 Unrecognized error number 处理
页面虽然可以访问了,但是页面上有报错,参考这篇解决了:Unrecognized error number: 8192: trim(): Passing null to parameter #1 ($string) of type string is deprecated
步骤:
(1)下载 http://archive.ubuntu.com/ubuntu/pool/universe/p/phpldapadmin/phpldapadmin_1.2.6.3-0.3_all.deb
(2)下载后安装它:dpkg -i phpldapadmin_1.2.6.3-0.3_all.deb
(3)修复/安装依赖项:sudo apt-get -f install
重启web服务后就可以了!
登录
使用上面设置的 admin 账号的管理员密码登录(匿名登录用户不可以创建新条目的,没有按钮入口的):
添加组织单位
添加组
同样的方法创建一个cn=users:
添加用户
添加后出现了两个名称一样的用户名,我删了一个,导致点击另一个同名的一致是空的,实际上刷新或者logout再login就显示正常了:
以上设置参考自Ubuntu Server 20.04上安装OpenLDAP和phpLDAPadmin中的 “2.安装phpLDAPadmin”这节。
客户端
命令行工具
# 安装LDAP客户端工具包后,可以使用工具进行LDAP操作 sudo apt install ldap-utils # 检索本机 LDAP 目录中所有条目 #ldapsearch -x -b dc=example,dc=com # 需要输入管理员密码以进行身份验证。如果连接成功并显示您的LDAP目录内容 ldapsearch -x -H ldap://<LDAP_SERVER_IP> -b "dc=example,dc=com" -D "cn=admin,dc=example,dc=com" -W
可视化工具
推荐使用 LdapBrowser: