天天看點

CentOS7.x 安裝 openldap 服務CentOS7.x 安裝 openldap 服務

CentOS7.x 安裝 openldap 服務

标簽(空格分隔): 運維系列

[toc]

一: 安裝openladp 配置

1.1:系統環境介紹

環境
系統版本:centos7.4

openldap版本2.4

安裝和配置
安裝并啟動服務
           

1.2 安裝openldap服務

yum install openldap openldap-servers openldap-clients
           
拷貝資料庫配置檔案

cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
chown ldap:ldap /var/lib/ldap/DB_CONFIG           
CentOS7.x 安裝 openldap 服務CentOS7.x 安裝 openldap 服務
DB_CONIFG中主要是關于Berkeley DB的相關的一些配置

 啟動OpenLDAP Server:

systemctl start slapd 
systemctl enable slapd
systemctl status slapd
slapd即standard alone ldap daemon,該程序預設監聽389端口
           
CentOS7.x 安裝 openldap 服務CentOS7.x 安裝 openldap 服務

1.3 配置openldap服務

設定root使用者密碼
先用一個指令生成一個LDAP管理使用者root密碼:

slappasswd -s 123456
New password:
Re-enter new password:
{SSHA}eNZrBtwRRsUg03i5cmGATh3ZnDNfm3Od  #記住這個,下面會用到

----
{SSHA}PFp8AcylmONN4ZWtfZ/dPvdfkY/a5JUo
----           
建立一個rootpwd.ldif(名稱是自定義的)的檔案:/root/ldif
mkdir -p /root/ldif
cd /root/ldif

vim rootpwd.ldif
---
dn: olcDatabase={0}config,cn=config
changetype: modify
add: olcRootPW
olcRootPW: {SSHA}PFp8AcylmONN4ZWtfZ/dPvdfkY/a5JUo
----

1) ldif即LDAP Data InterchangeFormat,是LDAP中資料交換的一種檔案格式。檔案内容采用的是key-value形式,注意value後面不能有空格。

2)上面内容中dn即distingush name

3)olc即Online Configuration,表示寫入LDAP後不需要重新開機即可生效
changetype: modify表示修改一個entry,changetype的值可以是add,delete, modify等。

4)add: olcRootPW表示對這個entry新增了一個olcRootPW的屬性
olcRootPW: {SSHA}eNZrBtwRRsUg03i5cmGATh3ZnDNfm3Od指定了屬性值
           
下面使用ldapadd指令将上面的rootpwd.ldif檔案寫入LDAP:
 ldapadd -Y EXTERNAL -H ldapi:/// -f rootpwd.ldif
           
CentOS7.x 安裝 openldap 服務CentOS7.x 安裝 openldap 服務
導入schema

導入schema,schema包含為了支援特殊場景相關的屬性,可根據選擇導入,這裡先全部導入:
  ls /etc/openldap/schema/*.ldif | while read f; do ldapadd -Y EXTERNAL -H ldapi:/// -f $f; done
           
CentOS7.x 安裝 openldap 服務CentOS7.x 安裝 openldap 服務

1.4 導入domain

建立一個domain.ldif的檔案:
vim domain.ldif
----
dn: olcDatabase={1}monitor,cn=config
changetype: modify
replace: olcAccess
olcAccess: {0}to * by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" read by dn.base="cn=admin,dc=flyfish,dc=com" read by * none

dn: olcDatabase={2}hdb,cn=config
changetype: modify
replace: olcSuffix
olcSuffix: dc=flyfish,dc=com

dn: olcDatabase={2}hdb,cn=config
changetype: modify
replace: olcRootDN
olcRootDN: cn=admin,dc=flyfish,dc=com

#這個是admin的密碼設定/如果要修改密碼把這段拿出來 add改成replace,然後執行 ldapadd -Y EXTERNAL -H ldapi:/// -f rootpwd.ldif

dn: olcDatabase={2}hdb,cn=config
changetype: modify
add: olcRootPW
olcRootPW: {SSHA}PFp8AcylmONN4ZWtfZ/dPvdfkY/a5JUo

dn: olcDatabase={2}hdb,cn=config
changetype: modify
add: olcAccess
olcAccess: {0}to attrs=userPassword,shadowLastChange by dn="cn=admin,dc=flyfish,dc=com" write by anonymous auth by self write by * none
olcAccess: {1}to dn.base="" by * read
olcAccess: {2}to * by dn="cn=admin,dc=flyfish,dc=com" write by * read
----
           
CentOS7.x 安裝 openldap 服務CentOS7.x 安裝 openldap 服務

1.5 添加條目

添加基本目錄

建立一個basedomain.ldif的檔案:
vim basedomain.ldif
----
注意替換上面檔案内容中dn為具體的域資訊了解dn,cn,dc

DC即Domain Component,LDAP目錄類似檔案系統目錄dc=flyfish,dc=com相當于/com/
flyfish
CN即Common Name,CN有可能代表一個使用者名,例如cn=Manager,dc=flyfish,dc=com表示在/com/flyfish域下的管理者使用者Manager
OU即Organizational Unit,例如ou=People,dc=flyfish,dc=com表示在/com/flyfish域下的一個組織單元People
寫入:

ldapadd -x -D cn=admin,dc=flyfish,dc=com -W -f basedomain.ldif           
CentOS7.x 安裝 openldap 服務CentOS7.x 安裝 openldap 服務
測試:

ldapsearch -LLL -W -x -D "cn=admin,dc=flyfish,dc=com" -H ldap:/// -b "dc=flyfish,dc=com"           
CentOS7.x 安裝 openldap 服務CentOS7.x 安裝 openldap 服務

##二:ldap 用戶端工具連接配接

2.1 ldapadmin windows 用戶端工具連接配接

ldap 用戶端連結:
管理工具
可以在區域網路内的windows電腦上下載下傳ldapadmin作為管理工具 下載下傳位址: http://www.ldapadmin.org/download/ldapadmin.html           
CentOS7.x 安裝 openldap 服務CentOS7.x 安裝 openldap 服務
CentOS7.x 安裝 openldap 服務CentOS7.x 安裝 openldap 服務
CentOS7.x 安裝 openldap 服務CentOS7.x 安裝 openldap 服務

2.2 phpldapadmin 配置部署

phpldapadmin 配置:
 一、phpldapadmin安裝
1、安裝Apache PHP
    yum -y install httpd php php-ldap php-gd php-mbstring php-pear php-bcmath php-xml

    php需使用5版本,phpldapadmin是基于php5開發,若使用其他php版本,會出現相容性支援問題,如password_hash問題
           
2、修改httpd通路端口
# vim /etc/httpd/conf/httpd.conf
Listen 80
修改為
Listen 58100

如果主機已經啟用 80 端口要改端口如果沒有啟用就預設用80 不用改
           
安裝phpldapadmin
   # wget https://nchc.dl.sourceforge.net/project/phpldapadmin/phpldapadmin-php5/1.2.3/phpldapadmin-1.2.3.tgz

   tar -zxvf phpldapadmin-1.2.3.tgz

   mv phpldapadmin-1.2.3 /var/www/html/phpldapadmin

   編輯config.php
   cd /var/www/html/phpldapadmin/config

   cp -p config.php.example config.php
   vim config.php
   ---
   修改:
    $servers->newServer('ldap_pla');
    $servers->setValue('server','name','My LDAP Server');
    $servers->setValue('server','host','192.168.100.14');
    $servers->setValue('server','port',389);
    $servers->setValue('server','base',array('dc=flyfish,dc=com'));
    $servers->setValue('login','auth_type','session');
    $servers->setValue('login','bind_id','cn=admin,dc=flyfish,dc=com');
    $servers->setValue('login','bind_pass','123456');
   ---

   serivce httpd restart 
           
CentOS7.x 安裝 openldap 服務CentOS7.x 安裝 openldap 服務
CentOS7.x 安裝 openldap 服務CentOS7.x 安裝 openldap 服務
打開web頁面:
     http://192.168.100.14/phpldapadmin