前言
随着公司服务器越来越多,运维账户管理成为了一个瓶颈,在没有账户管理系统之前,要为每个开发人员在跳板机上开通一个sshkey,造成了sshkey漫天飞的现象,给运维工作带来了极大的麻烦,这几天着手把账户管理系统部署起来了,并且投入了生产环境,这里作一个分享,后续还有相关优化上线。
环境准备
系统 | 系统版本 | IP | 角色 |
---|---|---|---|
ubuntu | 20.0.4 | 192.168.11.116 | LDAP Server |
ubuntu | 20.0.4 | 192.168.11.212 | Client |
安装
apt-get update #更新下系统
apt install slapd ldap-utils -y #安装相关软件包
输入管理员密码:
确认输入密码:
初始化配置
#执行命令初始化配置
dpkg-reconfigure slapd
选择NO:
自定义DNS名字:
自定义组织单位:
输入我们前面定义的管理员密码:
再次确认密码:
这里选择 NO:
移除旧的数据库,选择YES:
检查服务是否正常运行
#检查进程
root@client:~# ps -ef|grep slapd
openldap 30599 1 0 03:29 ? 00:00:00 /usr/sbin/slapd -h ldap:/// ldapi:/// -g openldap -u openldap -F/etc/ldap/slapd.d
root 30605 29279 0 03:31 pts/0 00:00:00 grep --color=auto slapd
#检查端口
root@client:~# ss -antp|grep 389
LISTEN 0 1024 0.0.0.0:389 0.0.0.0:* users:(("slapd",pid=30599,fd=8))
LISTEN 0 1024 [::]:389 [::]:* users:(("slapd",pid=30599,fd=9))
#配置文件目录
root@client:~# ls /etc/ldap/
ldap.conf sasl2 schema slapd.d
#数据库文件
root@client:~# ls /var/lib/ldap/
data.mdb lock.mdb
#测试Ldap接口
root@client:~# ldapwhoami -H ldap:// -x
anonymous #anonymous是匿名用户的查询结果
#重启服务
systemctl stop slapd.service
systemctl start slapd.service
添加一些数据到LDAP中
#创建一个数据文件
cat add_content.ldif
dn: ou=People,dc=ldap,dc=com
objectClass: organizationalUnit
ou: People
dn: ou=Groups,dc=ldap,dc=com
objectClass: organizationalUnit
ou: Groups
dn: cn=miners,ou=Groups,dc=ldap,dc=com
objectClass: posixGroup
cn: miners
gidNumber: 5000
dn: uid=john,ou=People,dc=ldap,dc=com
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: shadowAccount
uid: john
sn: Doe
givenName: John
cn: John Doe
displayName: John Doe
uidNumber: 10000
gidNumber: 5000
userPassword: johnldap
gecos: John Doe
loginShell: /bin/bash
homeDirectory: /home/john
#通过命令添加
ldapadd -x -W -D "cn=admin,dc=ldap,dc=com" -f add_content.ldif
root@client:~# ldapadd -x -W -D "cn=admin,dc=ldap,dc=com" -f add_content.ldif
Enter LDAP Password: #输入一开始我们创建的管理员密码
adding new entry "ou=People,dc=ldap,dc=com"
adding new entry "ou=Groups,dc=ldap,dc=com"
adding new entry "cn=miners,ou=Groups,dc=ldap,dc=com"
adding new entry "uid=john,ou=People,dc=ldap,dc=com"
安装图形化管理界面phpldapadmin
apt-get install phpldapadmin #安装phpldapadmin
#修改配置文件
vim /etc/phpldapadmin/config.php
$servers->setValue('server','name','Example LDAP'); #该行是您的LDAP服务器的显示名称,Web界面用于有关服务器的标题和消息
$servers->setValue('server','base',array('dc=example,dc=com')); #修改为:$servers->setValue('server','base',array('dc=ldap,dc=com'));
$config->custom->appearance['hide_template_warning'] = true; #取消注释,false改为true,取消模板警告信息
登录:http://192.168.11.116/phpldapadmin/
用户名: admin 密码: 之前创建的密码