參考資料:html
http://yhz61010.iteye.com/blog/2352672java
https://www.cnblogs.com/lemon-le/p/6266921.html數據庫
實驗環境centos6,若是用centos7,新版移除了slapd.conf配置文件,改成動態的config配置,菜鳥仍是習慣slapd.conf文件方式,二者區別不是很大,若是用centos
slapd.conf配置,每次配置後須要從新生成配置,有點麻煩,而動態的config配置不須要從新生成.api
1.yum -y install openldap openldap-servers openldap-clients openldap-devel compat-openldapbash
2.看下目錄結構frontend
3.幾個重要的配置文件ui
兩個模版文件加密
/usr/share/openldap-servers/slapd.conf.obsolete 模版配置文件centos7
/usr/share/openldap-servers/DB_CONFIG.example 模版數據庫配置文件
主配置文件
/etc/openldap/slapd.conf:OpenLDAP的主配置文件,記錄根域信息,管理員名稱,密碼,日誌,權限等
/etc/openldap/slapd.d/*:這下面是/etc/openldap/slapd.conf配置信息生成的文件,每修改一次配置信息,這裏的東西就要從新生成
模式文件
/etc/openldap/schema/*:OpenLDAP的schema存放的地方 //模式文件就是一個objectClass對象的模版,好比一個電話本模式文件,裏面有不少屬性。就是說用ldapadd添加一個條目,把條目理解爲數據庫的一個主鍵,一個主鍵裏必須有一個objectClass並必須有一個屬性值.
數據文件
/var/lib/ldap/*:OpenLDAP的數據文件
4.初始化配置文件
cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
cp /usr/share/openldap-servers/slapd.conf.obsolete /etc/openldap/slapd.conf
5.修改主配置文件
vi /etc/openldap/slapd.conf
解釋:
114行,指明用的什麼數據庫
115行,根節點.ldap默認採用dns的命名方式好比域名wan.com 就寫出 dc=wan,dc=com
117行,生成個管理員賬號,記住這個賬號名是"cn=Manager,dc=wan,dc=com" 而不是 Manager
121行,密碼,能夠明文,能夠加密.
生成個密文
把紅色密文粘貼到rootpw 後面
找到access to 部門對着修改下:
6.配置文件修改後,從新生成配置文件
順序:
1.刪除原有的生成的配置文件
rm -rf /etc/openldap/slapd.d/*
2.從新生成
slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d/
3.受權
chown -R ldap.ldap /etc/openldap/slapd.d/
4.重啓
/etc/init.d/slapd restart
7.查看下修改後的配置信息
cat /etc/openldap/slapd.d/cn\=config/olcDatabase\=\{2\}bdb.ldif
1.查:
ldap默認匿名用戶是打開的,因此能夠直接執行:
ldapsearch -x -b "dc=wan,dc=com"
搜索結果兩條
關掉匿名用戶查看方法:
ldapsearch -x -D "cn=manager,dc=wan,dc=com" -W -b "dc=wan,dc=com"
解釋:-x 表示用普通方式訪問 -D 管理員賬號 -W 提示輸入密碼 -b 搜索字段
2.添加:
vi people.ldif
dn: ou=people,dc=wan,dc=com
objectclass: top objectclass: organizationalUnit ou: people
這是一個組織單元,
ldapadd -x -D "cn=Manager,dc=wan,dc=com" -W -f people.ldif
在這個單元下面,添加一個t3的成員
vi t3.ldif
dn: cn=t3,ou=people,dc=wan,dc=com
cn: t3
givenname: t3
mail: t1@wq.com
objectclass: inetOrgPerson
objectclass: top
sn: t3
uid: t3
userpassword: 123456
ldapadd -x -D "cn=Manager,dc=wan,dc=com" -W -f t3.ldif
3.刪除
ldapdelete -x -D "cn=Manager1,dc=wan,dc=com" "cn=t3,ou=people,dc=wan,dc=com" -W
4.修改
vi t2_mod.ldif
dn: cn=t1 t2,ou=people,dc=wan,dc=com
changetype: modify
replace: userpassword
userpassword: 123456789
ldapmodify -x -D "cn=manager1,dc=wan,dc=com" -W -f t2_mod.ldif
暫時在這................
直接在命令行下粘貼進去
ldapmodify -Q -Y EXTERNAL -H ldapi:/// <<EOF dn: cn=config changetype: modify add: olcDisallows olcDisallows: bind_anon EOF ldapmodify -Q -Y EXTERNAL -H ldapi:/// <<EOF dn: olcDatabase={-1}frontend,cn=config changetype: modify add: olcRequires olcRequires: authc EOF |
#cn=config配置方法
參考鏈接:http://blog.csdn.net/umke888/article/details/54380507
初始化安裝後
cd /etc/openldap//cn\=config/
vi olcDatabase\=\{2\}
增長一行
olcRootPW: 123456
修改域信息
olcSuffix: dc=ixmsoft,dc=com
olcRootDN: cn=Manager,dc=ixmsoft,dc=com
2.導入基本 Schema 參考鏈接:http://yhz61010.iteye.com/blog/2352672
增長日誌倒入
參考鏈接:https://www.cnblogs.com/donneyliu/p/Centos-Openldap-Server-Log-Anon-OlcAccess.html
ldap日誌配置
建立個logging.ldif文件,添加下面的信息:
dn: cn=config
changetype: modify
replace: olcLogLevel
olcLogLevel: stats
倒入修改後的配置:ldapmodify -Q -Y EXTERNAL -H ldapi:/// -f logging.ldif