PostgreSQL的LDAP认证

    由于最近的工作涉及到PG的LDAP认证登录,以前没有接触过LDAP方面的内容,于是将LDAP服务器的搭建以及如何实现PG的LDAP认证登录记录下来。一来是为了将来使用能有所参考,二来是为了增加自己对LDAP的理解。本文记载了两种方式实现PG的LDAP认证,其中的主要差别在于服务器安装方式的不一样和管理工具的不一样。

方法一:本地服务器安装与管理

一:LDAP服务器的搭建

参考文章:https://my.oschina.net/u/2496664/blog/801996 的安装配置

其中安装和重新配置都需要做,否则之后使用ldap_account_manager进行登录可能会遇到问题。

二:LDAP管理工具环境搭建

使用LDAP的命令行管理工具对LDAP服务器进行管理比较困难,因此采用web管理接口进行管理。首先需要安装lamp服务环境。安装好lamp环境后,就可以利用web管理接口对LDAP服务器进行管理了。选择ldap_account_manager对LDAP服务器进行管理。ldap_account_manager的官网为:https://www.ldap-account-manager.org/lamcms/

(1)安装

1、sudo apt-get install ldap-account-manager

2、重启apache Web服务器

sudo systemctl restart apache2

可参考:https://ywnz.com/linuxyffq/4177.html 进行安装和配置

(2)配置

安装完成之后需要进行一些配置的操作

1、打开浏览器,http://IP/lam

(2)点击右上角的配置进行配置,点击Edit general settings

 

 (3)输入密码,初始密码为lam

 (4)可以更改密码,不清楚具体功能,可以点击问号查看功能

(5)Edit server profiles

 

 

 

三:利用LDAP管理工具向LDAP服务器中添加用户

上述操作完成后就可以通过登录页面完成登录,如果登录没有成功,请检查第一步安装ldap服务器时,配置和管理员用户的设置问题。

登录成功后页面为:

点击Users可以向LDAP服务器中用户,点击Groups可进行进行组的添加。

四:使用LDAP服务器进行PostgreSQL的认证

pg_hba.conf 参照如下的ldap配置进行配置

# "local" is for Unix domain socket connections only
local   all             all                      ldap ldapserver=16.157.247.8 ldapprefix="uid=" ldapsuffix=",ou=People,o=System Support,dc=my-domain,dc=com"
#local   all             all                                     md5
# IPv4 local connections:
#host    all             all             127.0.0.1/32            md5
host    all             all        127.0.0.1/32            ldap    ldapserver=16.157.247.8 ldapprefix="uid=" ldapsuffix=",ou=People,o=System Support,dc=my-domain,dc=com"
# IPv6 local connections:
host    all             all             ::1/128                 md5        

配置编译postgresql时加上--with-ldap选项,然后执行正常的连接操作即可实现ldap方式的认证登录。

方法二:使用docker安装ldap服务器和管理工具

一:服务器的安装

一句命令完成安装

docker run -p 389:389 -p 636:636 --name my-openldap-container --detach osixia/openldap:1.4.0

安装完成之后需要进入到docker中修改配置

docker exec -it docker-container-ID /bin/bash
vim /etc/ldap/ldap.conf

 再次进行另外的配置,主要为了添加管理用户,后续管理工具登录需要。

dpkg-reconfigure slapd

具体实现可参考https://my.oschina.net/u/2496664/blog/801996

二:LDAP服务器管理工具的安装

一句话安装

docker run -p 6443:443 --env PHPLDAPADMIN_LDAP_HOSTS=10.2.7.100 --name phpldapadmin --detach osixia/phpldapadmin:0.8.0

注意:PHPLDAPADMIN_LDAP_HOSTS=10.2.7.100 的IP地址不能为127.0.0.1

安装完成后,打开浏览器https://127.0.0.1:6443然后登录管理员张皓密码。

参考文档:

https://blog.csdn.net/Man_In_The_Night/article/details/101530244

https://github.com/osixia/docker-phpLDAPadmin

原文地址:https://www.cnblogs.com/zjsthunder/p/13064283.html