openldap+phpldapadmin(Centos7)

本次實驗配置文檔下載地址:https://www.lanzous.com/i1xmrng


OpenLDAP簡介

      LDAP是一款輕量級目錄訪問協議(Lightweight Directory Access Protocol,簡稱LDAP),屬於開源集中賬號管理架構的實現,且支持衆多系統版本,被廣大互聯網公司所採用。LDAP提供並實現目錄服務的信息服務,目錄服務是一種特殊的數據庫系統,對於數據的讀取、瀏覽、搜索有很好的效果。目錄服務一般用來包含基於屬性的描述性信息並支持精細複雜的過濾功能。

      OpenLDAP目錄中的信息是以樹狀的層次結構來存儲數據(這很類同於DNS),最頂層即根部稱作“基準DN”,形如“dc=mydomain,dc=org”或者“o=mydomain.org”,前一種方式更爲靈活也是Windows AD中使用的方式。在根目錄的下面有很多的文件和目錄,爲了把這些大量的數據從邏輯上分開,OpenLDAP像其它的目錄服務協議一樣使用OU(Organization Unit,組織單元),可以用來表示公司內部機構,如部門等,也可以用來表示設備、人員等。同時OU還可以有子OU,用來表示更爲細緻的分類。


OpenLDAP默認以Berkeley DB作爲後端數據庫,BerkeleyDB數據庫主要以散列的數據類型進行數據存儲,如以鍵值對的方式進行存儲。


注意:儘量不要使用Mysql數據庫,會出不知名的錯誤,本人親身經歷,排了半天錯,還是沒搞定,最後改用默認的數據庫。

實驗環境:

LDAP server:192.168.1.16  


分別有兩個組,每組有一個用戶:

     組: xinxi  qiche

    用戶: xinxi1  qiche1


1、同步時間,關閉selinux與防火牆  //僅實驗環境

    [root@zxq ~]# yum install -y ntp

    [root@zxq ~]#ntpdate -u ntp.api.bz

    [root@zxq ~]# setenforce 0

    [root@zxq ~]# systemctl stop firewalld

    [root@zxq ~]# iptables -F


2、安裝OpenLDAP軟件包

    

    [root@zxq ~]# yum -y install openldap compat-openldap openldap-clients openldap-servers openldap-servers-sql openldap-devel migrationtools


3、查看OpenLDAP版本


圖片.png


4、配置OpenLDAP


首先設置密碼:

圖片.png


修改以下兩個配置文件:

[root@zxq ~]# vim /etc/openldap/slapd.d/cn=config/olcDatabase\=\{1\}monitor.ldif
[root@zxq ~]# vim /etc/openldap/slapd.d/cn=config/olcDatabase\=\{2\}hdb.ldif

圖片.png

圖片.png


檢查配置文件並開啓OpenLDAP服務:

圖片.png

圖片.png


5、配置BerkeleyDB數據庫


拷貝配置文件,到默認路徑下:

圖片.png


生效LDAP配置模式:

圖片.png



migrate_common.ph文件主要用來生成ldif文件,修改migrate_common.ph配置文件:

圖片.png


創建本地組和用戶:

圖片.png

圖片.png

圖片.png


生成的用戶和用戶組配置文件,使用migrate_passwd.pl文件生成要用戶和用戶組的ldif數據庫數據:

圖片.png

圖片.png

圖片.png


六、導入用戶和用戶組數據到OpenLDAP數據庫

圖片.png

圖片.png


查詢OpenLDAP全部信息:

圖片.png


查詢OpenLDAP用戶的信息:

圖片.png


查詢OpenLDAP的組信息:

圖片.png


關聯LDAP與本地的用戶和組:

    LDAP中的組和用戶實際上是和本地的用戶和用戶組之間是沒有任何關聯的。所以需要關聯他們。


[root@zxq ~]#vim add_user_to_groups.ldif

dn: cn=ldapgroup1,ou=Group,dc=domain,dc=com
changetype: modify
add: memberuid
memberuid: ldapuser1

dn: cn=ldapgroup2,ou=Group,dc=domain,dc=com
changetype: modify
add: memberuid
memberuid: ldapuser2


生效關聯配置文件:

圖片.png


查詢ldap中的組,發現已經綁定成功:

圖片.png



安裝部署PHPldapAdmin


安裝PHP和Apache:


[root@zxq ~]# yum -y install httpd php php-ldap php-gd php-mbstring php-pear php-bcmath php-xml


添加下載源:

[root@zxq ~]# yum -y install epel-release


安裝phpldapadmin:

[root@zxq ~]# yum --enablerepo=epel -y install phpldapadmin


修改phpldapadmin配置文件,397行取消註釋,398行添加註釋:

[root@zxq ~]# vim /etc/phpldapadmin/config.php
$servers->setValue('login','attr','dn');
// $servers->setValue('login','attr','uid');

圖片.png


修改phpldapadmin權限配置文件:

[root@zxq ~]# vim /etc/httpd/conf.d/phpldapadmin.conf

<IfModule mod_authz_core.c>
# Apache 2.4
Require local
Require ip 192.168.1.0/24
</IfModule>

圖片.png



開啓Apache服務:

[root@zxq ~]# systemctl start httpd


瀏覽器訪問phpldapadmin:


    http://(localhost或服務器地址)/phpldapadmin/
    用戶名:cn=root,dc=domain,dc=com
    密碼:910910


圖片.png

圖片.png

圖片.png



總結:domain不能填自己的主機名!我是小白,如有錯誤還請各位大佬指點!感謝!









發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章