LDAP Server的介紹,請自行去Google,這裡就簡單紀錄我自己架設OpenLDAP的筆記
我曾經安裝在Fedora8和Fedora10上,都很順利的測試成功。
另外附上我在安裝LDAP Server時所參考的網頁 LDAP入門
1. 先查詢是否已安裝LDAP的Package
#rpm -qa | grep openldap
openldap-devel-2.4.12-1.fc10.i386
openldap-servers-2.4.12-1.fc10.i386
openldap-2.4.12-1.fc10.i386
openldap-clients-2.4.12-1.fc10.i386
//以我自己的經驗,通常都會缺少openldap-servers套件,可由RPM下載
2. 安裝缺少的套件
#rpm -ivh openldap-servers-2.4.12-1.fc10.i386.rpm
3. 架構你的LDAP Server
rxorwp.com
_____|_____
| |
Users Group
4. 修改/etc/openldap/slapd.conf
suffix "dc=rxorwp,dc=com"
rootdn "cn=Manager,dc=rxorwp,dc=com"
rootpw secret
//我只修改上面的部分,其餘皆用預設,密碼的部分,方便測試,所以我用明碼處理。5.編輯符合你的架構的LDIF檔案(在這命名為base.ldif,並放置在我自己新增的data資料夾下)
#vi /etc/openldap/data/base.ldif
#Base DN rxorwp.com
dn: dc=rxorwp,dc=com
dc: rxorwp
objectclass: top
objectclass: domain
#Users
dn: ou=Users,dc=rxorwp,dc=com
ou: Users
objectclass: top
objectclass: organizationalUnit
我曾經安裝在Fedora8和Fedora10上,都很順利的測試成功。
另外附上我在安裝LDAP Server時所參考的網頁 LDAP入門
1. 先查詢是否已安裝LDAP的Package
#rpm -qa | grep openldap
openldap-devel-2.4.12-1.fc10.i386
openldap-servers-2.4.12-1.fc10.i386
openldap-2.4.12-1.fc10.i386
openldap-clients-2.4.12-1.fc10.i386
//以我自己的經驗,通常都會缺少openldap-servers套件,可由RPM下載
2. 安裝缺少的套件
#rpm -ivh openldap-servers-2.4.12-1.fc10.i386.rpm
3. 架構你的LDAP Server
rxorwp.com
_____|_____
| |
Users Group
4. 修改/etc/openldap/slapd.conf
suffix "dc=rxorwp,dc=com"
rootdn "cn=Manager,dc=rxorwp,dc=com"
rootpw secret
//我只修改上面的部分,其餘皆用預設,密碼的部分,方便測試,所以我用明碼處理。5.編輯符合你的架構的LDIF檔案(在這命名為base.ldif,並放置在我自己新增的data資料夾下)
#vi /etc/openldap/data/base.ldif
#Base DN rxorwp.com
dn: dc=rxorwp,dc=com
dc: rxorwp
objectclass: top
objectclass: domain
#Users
dn: ou=Users,dc=rxorwp,dc=com
ou: Users
objectclass: top
objectclass: organizationalUnit
#Group
dn: ou=Group,dc=rxorwp,dc=com
ou: Group
objectclass: top
objectclass: organizationalUnit//要注意的是每筆資料中間,一定要用一行空白行隔開。6.啟動OpenLDAP前需做的事情
修改openLDAP的資料目錄擁有者為ldap
#chown -R ldap:ldap /var/lib/ldap
替Berkeley製作設定檔DB_CONFIG
#cp /usr/share/doc/openldap-servers-2.4.12/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
由於每個平台放置的路徑會有差異,所以可下指令搜尋DB_CONFIG.example
#find / | grep DB_CONFIG.example
新增base.ldif到LDAP裡
#slapadd -v -l /etc/openldap/data/base.ldif
// 使用slap* 工具前,不可啟動LDAP(只可在LDAP離線時使用)
7. 啟動OpenLDAP
#service ldap start
查看LDAP資料,會回給你一長串你剛剛新增的資料(即base.ldif)
#ldapsearch -x -b "dc=rxorwp,dc=com"
result: 0 Success
// 若有此訊息,代表成功
// 若要重做,可以執行 rm -rf /var/lib/ldap/* ,先清空資料,再重複上面步驟。
8. 編輯你的架構下資料的LDIF檔(在這命名為users.ldif,也放置在我自己新增的data資料夾下)
#vi /etc/openldap/data/users.ldif
#Users: Cosmo
dn: uid=cosmo,ou=Users,dc=rxorwp,dc=com
uid: cosmo
cn: cosmo
objectclass: account
objectclass: posixAccount
objectclass: top
userPassword: {MD5}Mqi9TWdvT+8JIMfajbK61w==
uidNumber: 1000
gidNumber: 1000
homeDirectory: /home/cosmo
dn: ou=Group,dc=rxorwp,dc=com
ou: Group
objectclass: top
objectclass: organizationalUnit//要注意的是每筆資料中間,一定要用一行空白行隔開。6.啟動OpenLDAP前需做的事情
修改openLDAP的資料目錄擁有者為ldap
#chown -R ldap:ldap /var/lib/ldap
替Berkeley製作設定檔DB_CONFIG
#cp /usr/share/doc/openldap-servers-2.4.12/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
由於每個平台放置的路徑會有差異,所以可下指令搜尋DB_CONFIG.example
#find / | grep DB_CONFIG.example
新增base.ldif到LDAP裡
#slapadd -v -l /etc/openldap/data/base.ldif
// 使用slap* 工具前,不可啟動LDAP(只可在LDAP離線時使用)
7. 啟動OpenLDAP
#service ldap start
查看LDAP資料,會回給你一長串你剛剛新增的資料(即base.ldif)
#ldapsearch -x -b "dc=rxorwp,dc=com"
result: 0 Success
// 若有此訊息,代表成功
// 若要重做,可以執行 rm -rf /var/lib/ldap/* ,先清空資料,再重複上面步驟。
8. 編輯你的架構下資料的LDIF檔(在這命名為users.ldif,也放置在我自己新增的data資料夾下)
#vi /etc/openldap/data/users.ldif
#Users: Cosmo
dn: uid=cosmo,ou=Users,dc=rxorwp,dc=com
uid: cosmo
cn: cosmo
objectclass: account
objectclass: posixAccount
objectclass: top
userPassword: {MD5}Mqi9TWdvT+8JIMfajbK61w==
uidNumber: 1000
gidNumber: 1000
homeDirectory: /home/cosmo
#Users: Annie
dn: uid=annie,ou=Users,dc=rxorwp,dc=com
uid: annie
cn: annie
objectclass: account
objectclass: posixAccount
objectclass: top
userPassword: {MD5}ohgQoB0/4N9CkdfT56u9HA==
uidNumber: 1001
gidNumber: 1001
homeDirectory: /home/annie
dn: uid=annie,ou=Users,dc=rxorwp,dc=com
uid: annie
cn: annie
objectclass: account
objectclass: posixAccount
objectclass: top
userPassword: {MD5}ohgQoB0/4N9CkdfT56u9HA==
uidNumber: 1001
gidNumber: 1001
homeDirectory: /home/annie
#Users: James
dn: uid=james,ou=Users,dc=rxorwp,dc=com
uid: james
cn: james
objectclass: account
objectclass: posixAccount
objectclass: top
userPassword: {MD5}tMw0TSWi7+VArb8meOIwTA==
uidNumber: 1002
gidNumber: 1002
homeDirectory: /home/james利用ldap指令修改資料庫內容
#ldapmodify -D "cn=Manager,dc=rxorwp,dc=com" -w secret -x -a -f /etc/openldap/data/users.ldif
利用ldap指令搜尋資料庫內容
#ldapsearch -x -b "uid=annie,ou=Users,dc=rxorwp,dc=com"
利用ldap指令刪除子樹
#ldapdelete -D "cn=Manager,dc=rxorwp,dc=com" -W -x -r -v "ou=Group,dc=quanta,dc=com"
為密碼加密(可用MD5或者CRYPT)
#slappasswd -h "{MD5}"
New password:
Re-enter new password:
{MD5}ohgQoB0/4N9CkdfT56u9HA==
//將上面那段加密後的密文,貼到userPassword欄位的後方即可
9.最後看一下有沒有LISTEN Port 389
#netstat -na | grep 389
dn: uid=james,ou=Users,dc=rxorwp,dc=com
uid: james
cn: james
objectclass: account
objectclass: posixAccount
objectclass: top
userPassword: {MD5}tMw0TSWi7+VArb8meOIwTA==
uidNumber: 1002
gidNumber: 1002
homeDirectory: /home/james利用ldap指令修改資料庫內容
#ldapmodify -D "cn=Manager,dc=rxorwp,dc=com" -w secret -x -a -f /etc/openldap/data/users.ldif
利用ldap指令搜尋資料庫內容
#ldapsearch -x -b "uid=annie,ou=Users,dc=rxorwp,dc=com"
利用ldap指令刪除子樹
#ldapdelete -D "cn=Manager,dc=rxorwp,dc=com" -W -x -r -v "ou=Group,dc=quanta,dc=com"
為密碼加密(可用MD5或者CRYPT)
#slappasswd -h "{MD5}"
New password:
Re-enter new password:
{MD5}ohgQoB0/4N9CkdfT56u9HA==
//將上面那段加密後的密文,貼到userPassword欄位的後方即可
9.最後看一下有沒有LISTEN Port 389
#netstat -na | grep 389
LDAP Client 測試
1. 修改/etc/openldap/ldap.conf
# vi /etc/openldap/ldap.conf
BASE dc=rxorwp,dc=com
URI ldap://192.168.1.179ldap://192.168.1.179:666
2. 利用search指令做測試,成功的話會回給你你所查詢範圍的詳細資料
#ldapsearch -x -b "uid=annie,ou=Users,dc=quanta,dc=com"
1. 修改/etc/openldap/ldap.conf
# vi /etc/openldap/ldap.conf
BASE dc=rxorwp,dc=com
URI ldap://192.168.1.179ldap://192.168.1.179:666
2. 利用search指令做測試,成功的話會回給你你所查詢範圍的詳細資料
#ldapsearch -x -b "uid=annie,ou=Users,dc=quanta,dc=com"
沒有留言:
張貼留言