Centos 安装 OpenLDAP
本教程相關(guān)?LDIF 文件下載:?
相關(guān) idif?文件?https://download.csdn.net/download/mshxuyi/86511892
LDAP:
LDAP(Lightweight Directory Access Protocol,輕型目錄訪(fǎng)問(wèn)協(xié)議),是一種基于 TCP/IP的訪(fǎng)問(wèn)在線(xiàn)目錄服務(wù)的協(xié)議,有V2和V3版本,其中現(xiàn)在用得最多的都是V3版本。而?openLDAP 則是這種協(xié)議的開(kāi)源的實(shí)現(xiàn),被廣泛應(yīng)用于 " 目錄訪(fǎng)問(wèn)權(quán)限控制 " 這一目的?
?1、安裝
# 安裝 yum install -y openldap-servers openldap-clients# 復(fù)制一個(gè)默認(rèn)配置到指定目錄下,并授權(quán) cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG chown ldap:ldap /var/lib/ldap/DB_CONFIG# 啟動(dòng) systemctl start slapd systemctl enable slapd2、修改配置
# 生成管理員密碼 slappasswd -s abc@123# 顯示 {SSHA}Hj8Fc0yIgn/ACV5ZdJdAR+Rq+Ug57Nd5vim chrootpw.ldif# 內(nèi)容 dn: olcDatabase={0}config,cn=config changetype: modify add: olcRootPW olcRootPW: {SSHA}YzpdyJJBH3pNjXpQO7C/NvmWdxVPB8Cd# 執(zhí)行LDIF文件 ldapadd -Y EXTERNAL -H ldapi:/// -f chrootpw.ldif3、導(dǎo)入預(yù)設(shè)
# 執(zhí)行LDIF文件 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 ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/collective.ldif ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/corba.ldif ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/duaconf.ldif ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/dyngroup.ldif ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/java.ldif ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/misc.ldif ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/openldap.ldif ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/pmi.ldif ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/ppolicy.ldif4、添加域
添加新的域 xielong.local,admin?管理員的密碼是上面生成的
vim chdomain.ldif# 內(nèi)容 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=xielong,dc=local" read by * nonedn: olcDatabase={2}hdb,cn=config changetype: modify replace: olcSuffix olcSuffix: dc=xielong,dc=localdn: olcDatabase={2}hdb,cn=config changetype: modify replace: olcRootDN olcRootDN: cn=admin,dc=xielong,dc=localdn: olcDatabase={2}hdb,cn=config changetype: modify replace: olcRootPW olcRootPW: {SSHA}YzpdyJJBH3pNjXpQO7C/NvmWdxVPB8Cddn: olcDatabase={2}hdb,cn=config changetype: modify add: olcAccess olcAccess: {0}to attrs=userPassword,shadowLastChange by dn="cn=admin,dc=xielong,dc=local" write by anonymous auth by self write by * none olcAccess: {1}to dn.base="" by * read olcAccess: {2}to * by dn="cn=admin,dc=xielong,dc=local" write by * read# 執(zhí)行LDIF文件 ldapmodify -Y EXTERNAL -H ldapi:/// -f chdomain.ldif5、添加 memberof?功能
很多場(chǎng)景下,我們需要快速的查詢(xún)某一個(gè)用戶(hù)是屬于哪一個(gè)或多個(gè)組的,memberOf 正是提供了這樣的一個(gè)功能:如果某個(gè)組中通過(guò) member 屬性新增了一個(gè)用戶(hù),OpenLDAP 便會(huì)自動(dòng)在該用戶(hù)上創(chuàng)建一個(gè) memberOf 屬性,其值為該組的 dn。遺憾的是,OpenLDAP 默認(rèn)并不啟用這個(gè)特性,因此我們需要通過(guò)相關(guān)的配置開(kāi)啟它。
vim addmemberof.ldif# 內(nèi)容 dn: cn=module{0},cn=config cn: modulle{0} objectClass: olcModuleList objectclass: top olcModuleload: memberof.la olcModulePath: /usr/lib64/openldapdn: olcOverlay={0}memberof,olcDatabase={2}hdb,cn=config objectClass: olcConfig objectClass: olcMemberOf objectClass: olcOverlayConfig objectClass: top olcOverlay: memberof olcMemberOfDangling: ignore olcMemberOfRefInt: TRUE olcMemberOfGroupOC: groupOfUniqueNames olcMemberOfMemberAD: uniqueMember olcMemberOfMemberOfAD: memberOfvim refint1.ldif# 內(nèi)容 dn: cn=module{0},cn=config add: olcmoduleload olcmoduleload: refintvim refint2.ldif# 內(nèi)容 dn: olcOverlay=refint,olcDatabase={2}hdb,cn=config objectClass: olcConfig objectClass: olcOverlayConfig objectClass: olcRefintConfig objectClass: top olcOverlay: refint olcRefintAttribute: memberof uniqueMember manager owner# 執(zhí)行LDIF文件 ldapadd -Q -Y EXTERNAL -H ldapi:/// -f addmemberof.ldif ldapmodify -Q -Y EXTERNAL -H ldapi:/// -f refint1.ldif ldapadd -Q -Y EXTERNAL -H ldapi:/// -f refint2.ldif6、添加Group People 2個(gè)組織單位和?admin 組織角色
vim base.ldif# 內(nèi)容 dn: dc=xielong,dc=local objectClass: top objectClass: dcObject objectClass: organization o: xielong Company dc: xielongdn: cn=admin,dc=xielong,dc=local objectClass: organizationalRole cn: admindn: ou=People,dc=xielong,dc=local objectClass: organizationalUnit ou: Peopledn: ou=Group,dc=xielong,dc=local objectClass: organizationalUnit ou: Group# 執(zhí)行LDIF文件 ldapadd -x -D cn=admin,dc=xielong,dc=local -W -f base.ldif7、在 Group?里面 添加?dev?和?ops 2個(gè)組
vim group.ldif# 內(nèi)容 dn: cn=ops,ou=Group,dc=xielong,dc=local cn: ops objectClass: top objectClass: groupOfUniqueNames uniqueMember:dn: cn=dev,ou=Group,dc=xielong,dc=local cn: dev objectClass: top objectClass: groupOfUniqueNames uniqueMember:# 執(zhí)行LDIF文件 ldapadd -x -D cn=admin,dc=xielong,dc=local -W -f group.ldif8、配置日志
mkdir -p /var/log/slapd touch /var/log/slapd/slapd.log chown -R ldap:ldap /var/log/slapdvim /etc/syslog.conf# 增加,在73行下面 local4.* /var/log/slapd/slapd.log# 重啟 systemctl restart rsyslogvim log.ldif# 內(nèi)容 dn: cn=config changetype: modify replace: olcLogLevel olcLogLevel: stats# 執(zhí)行LDIF文件 ldapmodify -Y EXTERNAL -H ldapi:/// -f log.ldif9、使用 Ldap Admin?客戶(hù)端登陸
10、登陸成功后,能看到?已經(jīng)創(chuàng)建好 dev?和 ops 2個(gè)?group
11、接著創(chuàng)建 zhangsan 和 lishi 2個(gè)用戶(hù)?,?并把他們加入?dev?和?ops?組里面
12、驗(yàn)證 memberof?功能
ldapsearch -x -H ldap://10.3.0.210 -b dc=xielong,dc=local -D "cn=admin,dc=xielong,dc=local" -W memberOf# 成功顯示 memberOf ----# zhangsan, People, xielong.local dn: uid=zhangsan,ou=People,dc=xielong,dc=local memberOf: cn=dev,ou=Group,dc=xielong,dc=local# ops, Group, xielong.local dn: cn=ops,ou=Group,dc=xielong,dc=local# dev, Group, xielong.local dn: cn=dev,ou=Group,dc=xielong,dc=local# lishi, People, xielong.local dn: uid=lishi,ou=People,dc=xielong,dc=local memberOf: cn=ops,ou=Group,dc=xielong,dc=local------13、驗(yàn)證日志
cat /var/log/slapd/slapd.log # 內(nèi)容 Sep 8 00:27:10 10-3-0-210 slapd[22340]: conn=1003 op=183 SRCH base="uid=zhangsan,ou=People,dc=xielong,dc=local" scope=0 deref=0 filter="(objectClass=*)" Sep 8 00:27:10 10-3-0-210 slapd[22340]: conn=1003 op=183 SEARCH RESULT tag=101 err=0 nentries=1 text= Sep 8 00:27:10 10-3-0-210 slapd[22340]: conn=1003 op=184 SRCH base="uid=lishi,ou=People,dc=xielong,dc=local" scope=0 deref=0 filter="(objectClass=*)" Sep 8 00:27:10 10-3-0-210 slapd[22340]: conn=1003 op=184 SEARCH RESULT tag=101 err=0 nentries=1 text= Sep 8 00:27:10 10-3-0-210 slapd[22340]: conn=1003 op=185 SRCH base="uid=zhangsan,ou=People,dc=xielong,dc=local" scope=0 deref=0 filter="(objectClass=*)" Sep 8 00:27:10 10-3-0-210 slapd[22340]: conn=1003 op=185 SEARCH RESULT tag=101 err=0 nentries=1 text=總結(jié)
以上是生活随笔為你收集整理的Centos 安装 OpenLDAP的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: C ++ 编程思想(卷二) 笔记
- 下一篇: SDIO简介