安裝環境:前端
linu系統: centos7.2版本java
OenLDAP:/openldap-2.4.44linux
下載地址:ftp://ftp.openldap.org/pub/OpenLDAP/openldap-release/openldap-2.4.44.tgz數據庫
BDB : 5.1.29vim
下載地址:http://download.Oracle.com/berkeley-db/db-5.1.29.tar.gzcentos
安裝方式;安全
#yum安裝就不說了 bash
1、源碼安裝服務器
1.DBD安裝oracle
#yum install *ltdl* -y #安裝依賴包
#cd /usr/local/src/
#tar -zxvf db-5.1.29.tar.gz
#cd db-5.1.29/build_unix/
#../dist/configure --prefix=/usr/local/berkeleydb-5.1.29
#make
#make install
#cd /usr/local/src/
#echo "/usr/local/berkeleydb-5.1.29/lib/" > /etc/ld.so.conf
#ldconfig -v
#cd /usr/local/src/
#tar -zxvf openldap-2.4.44.tgz
#cd openldap-2.4.44
# ./configure --prefix=/usr/local/openldap-2.4.44 --enable-syslog
#--enable-modules --enable-debug --with-tls CPPFLAGS=-I/usr/local/
#berkeleydb-5.1.29/include/ LDFLAGS=-L/usr/local/berkeleydb-5.1.29/lib/
#make depend
#make test
#make install
#cd /usr/local/openldap-2.4.44
#ln -s /usr/local/openldap-2.4.44/bin/* /usr/local/bin/
#ln -s /usr/local/openldap-2.4.44/sbin/* /usr/local/sbin/
1 include /usr/local/openldap-2.4.44/etc/openldap/schema/collective.schema 2 include /usr/local/openldap-2.4.44/etc/openldap/schema/corba.schema 3 include /usr/local/openldap-2.4.44/etc/openldap/schema/cosine.schema 4 include /usr/local/openldap-2.4.44/etc/openldap/schema/duaconf.schema 5 include /usr/local/openldap-2.4.44/etc/openldap/schema/dyngroup.schema 6 include /usr/local/openldap-2.4.44/etc/openldap/schema/inetorgperson.schema 7 include /usr/local/openldap-2.4.44/etc/openldap/schema/java.schema 8 include /usr/local/openldap-2.4.44/etc/openldap/schema/misc.schema 9 include /usr/local/openldap-2.4.44/etc/openldap/schema/nis.schema 10 include /usr/local/openldap-2.4.44/etc/openldap/schema/openldap.schema 11 include /usr/local/openldap-2.4.44/etc/openldap/schema/pmi.schema 12 include /usr/local/openldap-2.4.44/etc/openldap/schema/ppolicy.schema
loglevel 256 #新增日誌級別,須要在編譯時--enable-debug,不然日誌文件輸出,不影響調試模式;
suffix "dc=lohogames,dc=com" #後綴通常寫域名
rootdn "cn=root,dc=lohogames,dc=com" #管理員用戶
rootpw {SSHA}K9+WK/t1e0V0K6pUMOyTsaTwkDBNEDiP #管理員密碼配置
1 vim lohogames.ldif 2 dn: dc=lohogames,dc=com #全局惟一標識條目 3 dc: lohogames #domainComponent(域名) 4 objectclass: domain #指定這個對象類是一個根 5 6 dn: ou=zabbix,dc=lohogames,dc=com 7 ou: zabbix # ou-> organization unit(組織單元-部門) 8 objectclass: organizationalUnit # 指定對象類是一個組織/部門 9 10 dn: cn=mazhongyue,ou=zabbix,dc=lohogames,dc=com 11 cn: mazhongyue #指一個對象的名字。若是指人,須要使用其全名 12 sn: MAZHONGYUE #指一我的的姓 13 uid: mazhongyue #userid,一般指某個用戶的登陸名,與Linux系統中用戶的uid不一樣。 14 userPassword: Kod@2011 #用戶登錄密碼 15 objectclass: inetOrgperson #指定這個對象類/條目是普通用戶的屬性 16 17 dn: cn=fuyufei,ou=zabbix,dc=lohogames,dc=com 18 cn: fuyufei 19 sn: FUYUFEI 20 uid: fuyufei 21 userPassword: loho@2017 22 objectclass: inetOrgperson
#用戶必須具有uid屬性,要不接入開源服務的時候用戶沒法登錄開源服務(例如:zabbix)
4.啓動OpenLDAP
/usr/local/openldap-2.4.44/libexec/slapd -d 256 #在前端打印數據信息
ldapadd -x -D "cn=root,dc=lohogamesi,dc=com" -W -f test2.ldif #把ldif數據插入到OpenLDAP數據庫當中
#dapsearch -x -D "cn=root,dc=lohogames,dc=com" -w ldap b dc=lohogames,dc=com #查看數據是否存在
-x:進行簡單的驗證
-D:管理員用戶
-w:密碼
-b:指定範圍
dc=lohogames,dc=com #表示從樹根開始整個ldap用戶
3.關閉匿名登錄設置
#出於安全考慮禁止非正式用戶訪問
在主配置文件slapd.conf中,加入disallow bind_anon #重啓生效
4.普通用戶能夠修改本身的密碼及用戶只能看到本身
#爲了工做方便,普通用戶自行修改本身的密碼
#出於安全考慮,用戶只能看到本身看不到其餘人的信息
access to attrs=userPassword,shadowLastChange #修改密碼屬性的限定 by self write #只有本身有寫的權限 by self read #只有本身有讀的權限 by anonymous auth #匿名用戶須要驗證 by * none #拒絕任何人訪問 access to dn.children=" ou=commonality,dc=lohogames,dc=com" #限定全部子條目 by self read #只有本身有讀的權限 access to * #全部屬性及類 by users read #全部用戶都有讀的權限
OpenLDAP開源服務配置
一.zabbi使用LDAP認證配置
# 登錄 zabbix頁面 => 點擊 Administration => 點擊 Authentication => 點擊 LDAP
1 LDAP host: #OpenLDAP服務器地址 2 Port: #默認端口(389)不須要修改; 3 Base DN: #填寫格式爲 DC=,DC= #域名的一部分 4 Search attribute: #搜索屬性,搜索範圍 能夠寫 uid ,cn 5 Bind DN: #cn=域管理賬號,dc=域名,dc=域名;查看slapd.conf配置文件 定位 rootdn 這行就能夠找到了 6 Bind password: #域帳號管理員密碼;查看slapd.conf配置文件 定位 rootpw 這行就是了 7 Login: #zabbix管理員用戶 8 User password: 域用戶Admin密碼 #域用戶最好和zabbix管理員用戶密碼同樣