Centos 安装 OpenLDAP
本教程相關?LDIF 文件下載:?
相關 idif?文件?https://download.csdn.net/download/mshxuyi/86511892
LDAP:
LDAP(Lightweight Directory Access Protocol,輕型目錄訪問協議),是一種基于 TCP/IP的訪問在線目錄服務的協議,有V2和V3版本,其中現在用得最多的都是V3版本。而?openLDAP 則是這種協議的開源的實現,被廣泛應用于 " 目錄訪問權限控制 " 這一目的?
?1、安裝
# 安裝 yum install -y 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# 啟動 systemctl start slapd systemctl enable slapd2、修改配置
# 生成管理員密碼 slappasswd -s abc@123# 顯示 {SSHA}Hj8Fc0yIgn/ACV5ZdJdAR+Rq+Ug57Nd5vim chrootpw.ldif# 內容 dn: olcDatabase={0}config,cn=config changetype: modify add: olcRootPW olcRootPW: {SSHA}YzpdyJJBH3pNjXpQO7C/NvmWdxVPB8Cd# 執行LDIF文件 ldapadd -Y EXTERNAL -H ldapi:/// -f chrootpw.ldif3、導入預設
# 執行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# 內容 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# 執行LDIF文件 ldapmodify -Y EXTERNAL -H ldapi:/// -f chdomain.ldif5、添加 memberof?功能
很多場景下,我們需要快速的查詢某一個用戶是屬于哪一個或多個組的,memberOf 正是提供了這樣的一個功能:如果某個組中通過 member 屬性新增了一個用戶,OpenLDAP 便會自動在該用戶上創建一個 memberOf 屬性,其值為該組的 dn。遺憾的是,OpenLDAP 默認并不啟用這個特性,因此我們需要通過相關的配置開啟它。
vim addmemberof.ldif# 內容 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# 內容 dn: cn=module{0},cn=config add: olcmoduleload olcmoduleload: refintvim refint2.ldif# 內容 dn: olcOverlay=refint,olcDatabase={2}hdb,cn=config objectClass: olcConfig objectClass: olcOverlayConfig objectClass: olcRefintConfig objectClass: top olcOverlay: refint olcRefintAttribute: memberof uniqueMember manager owner# 執行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個組織單位和?admin 組織角色
vim base.ldif# 內容 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# 執行LDIF文件 ldapadd -x -D cn=admin,dc=xielong,dc=local -W -f base.ldif7、在 Group?里面 添加?dev?和?ops 2個組
vim group.ldif# 內容 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:# 執行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# 內容 dn: cn=config changetype: modify replace: olcLogLevel olcLogLevel: stats# 執行LDIF文件 ldapmodify -Y EXTERNAL -H ldapi:/// -f log.ldif9、使用 Ldap Admin?客戶端登陸
10、登陸成功后,能看到?已經創建好 dev?和 ops 2個?group
11、接著創建 zhangsan 和 lishi 2個用戶?,?并把他們加入?dev?和?ops?組里面
12、驗證 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、驗證日志
cat /var/log/slapd/slapd.log # 內容 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=總結
以上是生活随笔為你收集整理的Centos 安装 OpenLDAP的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C ++ 编程思想(卷二) 笔记
- 下一篇: SDIO简介