ubuntu20.04 + OpenLdap 实现企业运维账户管理系统(上)

前言

随着公司服务器越来越多,运维账户管理成为了一个瓶颈,在没有账户管理系统之前,要为每个开发人员在跳板机上开通一个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    #安装相关软件包

输入管理员密码:

ubuntu20.04 + OpenLdap 实现企业运维账户管理系统(上)

确认输入密码:

ubuntu20.04 + OpenLdap 实现企业运维账户管理系统(上)

 初始化配置

 

#执行命令初始化配置
dpkg-reconfigure slapd   

 选择NO:

ubuntu20.04 + OpenLdap 实现企业运维账户管理系统(上)

 自定义DNS名字:

ubuntu20.04 + OpenLdap 实现企业运维账户管理系统(上)

 自定义组织单位:

ubuntu20.04 + OpenLdap 实现企业运维账户管理系统(上)

输入我们前面定义的管理员密码:

ubuntu20.04 + OpenLdap 实现企业运维账户管理系统(上)

 再次确认密码:

ubuntu20.04 + OpenLdap 实现企业运维账户管理系统(上)

 这里选择 NO:

ubuntu20.04 + OpenLdap 实现企业运维账户管理系统(上)

移除旧的数据库,选择YES:

 

ubuntu20.04 + OpenLdap 实现企业运维账户管理系统(上)

  检查服务是否正常运行

 

#检查进程
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  密码: 之前创建的密码

ubuntu20.04 + OpenLdap 实现企业运维账户管理系统(上)

上一篇:docker-compose 启动报错 caused: not a directory: unknown: Are you trying to mount a directory onto a fil


下一篇:MySQL大数据量分页查询方法及其优化