Linux(centos7.9)搭建ldap伺服器

2023-05-09 18:00:21

一.LDAP是什麼

 後期更新,目前只搭建了伺服器

 

二.linux搭建LDAP伺服器

以下伺服器資訊為該檔案安裝Radius服務環境

 

伺服器資訊:CentOS7 

 

核心版本:3.10.0-1160.el7.x86_64

 

1.使用yum進行安裝

yum -y install openldap compat-openldap openldap-clients openldap-servers openldap-servers-sql openldap-devel

 

2.安裝完畢後,檢查服務執行狀態

安裝完之後,直接啟動服務並且將服務設定為自啟動狀態,檢查服務執行狀態(如果未啟動成功,自行手工啟動)

systemctl start slapd
systemctl enable slapd

 

3.建立根密碼

此密碼用於整個安裝過程,是LADP的管理員根密碼,使用slappasswd 命令生成密碼。輸入slappasswd後提示輸入密碼(Aa23456)與確認密碼,系統會輸出一串加密後的字串

slappasswd

 

4.設定服務

(修改的所有過程,均使用ldapmodify完成)

cd /etc/openldap/slapd.d/cn=config
ll

  •  修改db檔案

在任意目錄建立 db.ldif檔案(儘量不要在/etc/openldap/slapd.d/cn=config目錄下建立)

vim db.ldif

在db.ldif檔案中編輯下面內容,目的就是替換上圖中olcDatabase={2}hdb.ldif中olcSuffix, olcRootDN, olcRootPW這三個欄位的內容

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

dn: olcDatabase={2}hdb,cn=config
changetype: modify
replace: olcRootDN
olcRootDN: cn=Manager,dc=ricman,dc=localhost

dn: olcDatabase={2}hdb,cn=config
changetype: modify
add: olcRootPW
olcRootPW: {SSHA}KUYZ4irDCPN8seoOg1zNNVzh70jVr1c8

編輯完成後,在db.ldif目錄下執行命令

ldapmodify -Y EXTERNAL -H ldapi:/// -f db.ldif

出現下圖,即代表更改完成,三個欄位內容被成功替換

  •  修改monitor檔案

在剛剛的db.ldif目錄下建立monitor.ldif

vim monitor.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=Manger,dc=ricman,dc=localhost" read by * none

編輯完成後,在monitor.ldif目錄下執行命令

ldapmodify -Y EXTERNAL -H ldapi:/// -f monitor.ldif

修改完成

  • 建立ldap基礎庫

複製ldap原有設定,並賦予它所有許可權

cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
chown ldap:ldap /var/lib/ldap/*

然後向資料庫新增schemas,包括cosine、nis、inetorgperson,然後分別執行下列命令

ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/cosine.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/nis.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/inetorgperson.ldif

  •  建立base.ldif
dn: dc=ricman,dc=localhost
dc: ricman
objectClass: top
objectClass: domain

dn: cn=Manager ,dc=ricman,dc=localhost
objectClass: organizationalRole
cn: Manager
description: LDAP Manager

dn: ou=People,dc=ricman,dc=localhost
objectClass: organizationalUnit
ou: People

dn: ou=Group,dc=ricman,dc=localhost
objectClass: organizationalUnit
ou: Group

輸入下方命令儲存至資料庫

ldapadd -x -W -D "cn=Manager,dc=ricman,dc=localhost" -f base.ldif

 至此,ldap基礎設定已基本完成。

 

5.管理和使用ldap伺服器

依次點選start---connect---New connection,然後輸入 Host,Base以及使用者名稱與密碼,如下圖所示,然後test connection。

登入成功

 

所有內容只為了記錄搭建和學習過程,部分內容源於網路。