OpenLDAP是一款輕量級目錄訪問協議,是一套開源的集中賬號管理架構,且被眾多系統支持(例如: 各種Linux發行版本、Windows、Mac OS、IBM AIX等眾多平臺),被廣大互聯網公司和軟件所采用(例如:jumpserver,jenkins,zabbix,gitlab,wiki,samba,sqladmin等各類常用軟件)總之,任何內部 常用的可使用賬號登陸的平臺或軟件基本都會支持關聯ldap。它通常被用于關聯各個平臺或服務,達到統一身份認證的效果,一個賬號和密碼即可登陸各個平臺,避免了一個用戶在多個平臺使用不同賬號和密碼,避免了人員流動導致的賬號的創建和注銷的流程相對復雜的問題;
CentOS 7.8.2003openldap-servers-2.4.44-23.el7_9.x86_64openldap-devel-2.4.44-23.el7_9.x86_64compat-openldap-2.3.43-5.el7.x86_64openldap-servers-sql-2.4.44-23.el7_9.x86_64openldap-clients-2.4.44-23.el7_9.x86_64openldap-2.4.44-23.el7_9.x86_64
角色 | IP | 組件 |
---|---|---|
ldap-server | 82.157.124.172 | openldap compat-openldap openldap-clients openldap-servers openldap-servers-sql openldap-devel migrationtools |
yum -y install openldap compat-openldap openldap-clients openldap-servers openldap-servers-sql openldap-devel migrationtools
OpenLDAP2.4.23版本開始所有配置數據都保存在/etc/openldap/slapd.d/中,不再使用slapd.conf作為配置文件,配置slapd.conf的為老文檔;
slappasswd -s wunai.2021
修改/etc/openldap/slapd.d/cn=config/olcDatabase={2}hdb.ldif 配置
在此文件的最后一行添加olcRootPW+第一步生成的密碼,“:” 和密碼之間有空格
# AUTO-GENERATED FILE - DO NOT EDIT!! Use ldapmodify.# CRC32 9cd5f2e9dn: olcDatabase={2}hdbobjectClass: olcDatabaseConfigobjectClass: olcHdbConfigolcDatabase: {2}hdbolcDbDirectory: /var/lib/ldap # 修改這兩行,cn 表示openldap管理員用戶名 # olcRootDN整條將會用于管理員的登陸olcSuffix: dc=elst,dc=comolcRootDN: cn=Manager,dc=elst,dc=com olcDbIndex: objectClass eq,presolcDbIndex: ou,cn,mail,surname,givenname eq,pres,substructuralObjectClass: olcHdbConfigentryUUID: 40fbd07c-8aba-103b-86e1-67ecea7b71bfcreatorsName: cn=configcreateTimestamp: 20210806042645ZentryCSN: 20210806042645.972356Z#000000#000#000000modifiersName: cn=configmodifyTimestamp: 20210806042645Z # 下面一行為新添加的,olcRootPW是該用戶對應密碼olcRootPW: {SSHA}rs+dbTozMEf+Yk9cNcVujdyxj2DQZnAG
修改/etc/openldap/slapd.d/cn=config/olcDatabase={1}monitor.ldif 文件
vim /etc/openldap/slapd.d/cn=config/olcDatabase={1}monitor.ldif # AUTO-GENERATED FILE - DO NOT EDIT!! Use ldapmodify.# CRC32 c4f3d09cdn: olcDatabase={1}monitorobjectClass: olcDatabaseConfigolcDatabase: {1}monitor # 修改此處的cn,dcolcAccess: {0}to * by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=extern al,cn=auth" read by dn.base="cn=Manager,dc=elst,dc=com" read by * nonestructuralObjectClass: olcDatabaseConfigentryUUID: 40fbcbcc-8aba-103b-86e0-67ecea7b71bfcreatorsName: cn=configcreateTimestamp: 20210806042645ZentryCSN: 20210806042645.972235Z#000000#000#000000modifiersName: cn=configmodifyTimestamp: 20210806042645Z
[root@VM-0-7-centos ~]# slaptest -u610cc90a ldif_read_file: checksum error on "/etc/openldap/slapd.d/cn=config/olcDatabase={1}monitor.ldif"610cc90a ldif_read_file: checksum error on "/etc/openldap/slapd.d/cn=config/olcDatabase={2}hdb.ldif"config file testing succeeded# 由于收到修改了2個文件,checksum忽略即可,testing succeeded即為成功
systemctl enable slapd;systemctl start slapd
cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIGchown ldap:ldap -R /var/lib/ldapchmod 700 -R /var/lib/ldap[root@VM-0-7-centos ~]# tree /var/lib/ldap//var/lib/ldap/|-- alock|-- cn.bdb|-- __db.001|-- __db.002|-- __db.003|-- DB_CONFIG|-- dn2id.bdb|-- id2entry.bdb|-- log.0000000001|-- objectClass.bdb`-- ou.bdb
Schema文件位于/etc/openldap/schema/下schema控制著條目擁有哪些對象類和屬性,可自行根據需求導入,通常導入前3即可
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/cosine.ldifldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/nis.ldifldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/inetorgperson.ldif# 驗證[root@VM-0-7-centos ~]# ll /etc/openldap/schema/total 312-r--r--r-- 1 root root 2036 Apr 28 21:32 collective.ldif-r--r--r-- 1 root root 6190 Apr 28 21:32 collective.schema-r--r--r-- 1 root root 1845 Apr 28 21:32 corba.ldif-r--r--r-- 1 root root 8063 Apr 28 21:32 corba.schema-r--r--r-- 1 root root 20612 Apr 28 21:32 core.ldif-r--r--r-- 1 root root 20499 Apr 28 21:32 core.schema-r--r--r-- 1 root root 12006 Apr 28 21:32 cosine.ldif-r--r--r-- 1 root root 73994 Apr 28 21:32 cosine.schema-r--r--r-- 1 root root 4842 Apr 28 21:32 duaconf.ldif-r--r--r-- 1 root root 10388 Apr 28 21:32 duaconf.schema-r--r--r-- 1 root root 3330 Apr 28 21:32 dyngroup.ldif-r--r--r-- 1 root root 3289 Apr 28 21:32 dyngroup.schema-r--r--r-- 1 root root 3481 Apr 28 21:32 inetorgperson.ldif-r--r--r-- 1 root root 6267 Apr 28 21:32 inetorgperson.schema-r--r--r-- 1 root root 2979 Apr 28 21:32 java.ldif-r--r--r-- 1 root root 13901 Apr 28 21:32 java.schema-r--r--r-- 1 root root 2082 Apr 28 21:32 misc.ldif-r--r--r-- 1 root root 2387 Apr 28 21:32 misc.schema-r--r--r-- 1 root root 6809 Apr 28 21:32 nis.ldif-r--r--r-- 1 root root 7640 Apr 28 21:32 nis.schema-r--r--r-- 1 root root 3308 Apr 28 21:32 openldap.ldif-r--r--r-- 1 root root 1514 Apr 28 21:32 openldap.schema-r--r--r-- 1 root root 6904 Apr 28 21:32 pmi.ldif-r--r--r-- 1 root root 20467 Apr 28 21:32 pmi.schema-r--r--r-- 1 root root 4570 Apr 28 21:32 ppolicy.ldif-r--r--r-- 1 root root 20489 Apr 28 21:32 ppolicy.schema
修改/usr/share/migrationtools/migrate_common.ph文件
cat /usr/share/migrationtools/migrate_common.ph $DEFAULT_MAIL_DOMAIN = "elst.com";$DEFAULT_BASE = "dc=elst,dc=com";$EXTENDED_SCHEMA = 1;mkdir /etc/openldap/onlineldif -p[root@VM-0-7-centos ~]# cat /etc/openldap/onlineldif/base.ldif dn: dc=elst,dc=como: elst comdc: elstobjectClass: topobjectClass: dcObjectobjectclass: organizationdn: cn=Manager,dc=elst,dc=comcn: ManagerobjectClass: organizationalRoledescription: Directory Managerdn: ou=People,dc=elst,dc=comou: PeopleobjectClass: topobjectClass: organizationalUnitdn: ou=Group,dc=elst,dc=comou: GroupobjectClass: topobjectClass: organizationalUnit
ldapadd -x -D "cn=Manager,dc=elst,dc=com" -f ./base.ldif -w "wunai.2021" # 驗證[root@VM-0-7-centos ~]# ldapsearch -x -b 'dc=elst,dc=com' '(objectClass=*)'|grep Successresult: 0 Success
yum -y install epel-releaseyum clean allyum makecacheyum -y install httpd php php-ldap php-gd php-mbstring php-pear php-bcmath php-xml phpldapadmin
[root@VM-0-7-centos ~]# cat /etc/httpd/conf.d/phpldapadmin.conf## Web-based tool for managing LDAP servers#Alias /phpldapadmin /usr/share/phpldapadmin/htdocsAlias /ldapadmin /usr/share/phpldapadmin/htdocs<Directory /usr/share/phpldapadmin/htdocs> <IfModule mod_authz_core.c> # Apache 2.4 # 修改此處,開放外網訪問 # 或者指定可訪問ip段 # Require local # Require ip 192.168.0 Require all granted </IfModule> <IfModule !mod_authz_core.c> # Apache 2.2 Order Deny,Allow Deny from all Allow from 127.0.0.1 Allow from ::1 </IfModule></Directory>
vim /etc/phpldapadmin/config.php#398行,dn為使用dn登陸,cn為使用用戶名登陸,可選其一$servers->setValue('login','attr','dn');or$servers->setValue('login','attr','cn'); #460行,關閉匿名登錄,必做$servers->setValue('login','anon_bind',false); #519行,保證用戶屬性的唯一性$servers->setValue('unique','attrs',array('mail','uid','uidNumber','cn','sn'));
systemctl restart httpdsystemctl enable httpdhttp://82.157.124.172/phpldapadmin# 登陸,輸入基礎數據庫ldif文件中配置的dn或cn,密碼是導入時的密碼# 基本賬戶管理方式:Group下創建組,People下創建賬戶。不同平臺創建不同的組,將賬戶添加到相應的組,一個賬戶可有多個組,使一個賬戶和密碼可登陸多個平臺。# 到這一步通常是配置完了。接著就是在phpldapadmin,中配置用戶并關聯到各個工具中,進行統一認證。
本文由 貴州做網站公司 整理發布,部分圖文來源于互聯網,如有侵權,請聯系我們刪除,謝謝!
網絡推廣與網站優化公司(網絡優化與推廣專家)作為數字營銷領域的核心服務提供方,其價值在于通過技術手段與策略規劃幫助企業提升線上曝光度、用戶轉化率及品牌影響力。這...
在當今數字化時代,公司網站已成為企業展示形象、傳遞信息和開展業務的重要平臺。然而,對于許多公司來說,網站建設的價格是一個關鍵考量因素。本文將圍繞“公司網站建設價...
在當今的數字化時代,企業網站已成為企業展示形象、吸引客戶和開展業務的重要平臺。然而,對于許多中小企業來說,高昂的網站建設費用可能會成為其發展的瓶頸。幸運的是,隨...
誰能介紹幾款PSP經典策略游戲?PSP上的策略類:《圣女貞德》《皇家騎士團2》《魔界戰記》《SD高達》系列《機戰Z2》《超級機器人大戰MX》《機戰A》《最終幻想獅子戰爭》《三國志5 6》《太閣立志傳4》《勇者別囂張》《大戰略》《新天魔界:混沌時代4》《太閣立志傳4》《足球經理09》求掃盲.psp上共有幾部機戰?以下是我知道的所有兵棋類游戲:機戰AP;機器MX機器OG;戰斗OG2,戰斗Z,打破界限;...
唐山衛視是幾頻道?唐山衛視是11頻道,各地區可能不一樣。唐山電視臺地址在哪?地址:廣達街1號,唐山工人醫院對面郵政編碼:06300唐山電視臺地址:唐山市光大街1號唐山有線廣播電視臺地址:唐山市印盒路附近唐山有線廣播電視臺地址:唐山市光大街1號唐山電視演播室地址:唐山市國防路唐山電視臺影視頻道廣告部地址:河北省唐山市光大街1號唐山有線電視臺大理路地址:唐山市大理路46號廣播電臺在唐山的頻率是多少?1...
華堂超市是哪個國家?北京華堂商場是北京著名的大型商場之一。是北京唯一一家與日本洋華堂在合作的綜合性大型百貨商場。北京周邊大型商場?1.燕莎友誼商城地址:朝陽區亮馬橋路52號2.賽特購物中心地址:朝陽區建國門外大街22號3.西單商場地址:西城區西單北大街120號4.復興商業城地址:西城區復興門外大街4號5.城鄉貿易中心地址:垣曲區復興路23號6.藍鳥大廈地址:朝陽區朝陽門外大街8號7.文海商業大廈地...