1. 程式人生 > >LDAP伺服器搭建新手指南

LDAP伺服器搭建新手指南

輸入完畢,請點選“測試連線”,檢視連線是否正常,如果此時連線正常的話,即可看到如下的介面:


並提示,沒有任何實體內容!這是正常的,下面我們就需要建立根節點啦:

5.我們通過命令列的方式來進行建立,這也是一種批量插入資料的方式,當然也可以通過客戶端來進行設定,但貌似客戶端經常會出現一些比較奇怪的問題,所以這裡以執行命令檔案的方式來新增資料,具體步驟如下:

a)在安裝程式目錄中,新建一個空的txt檔案,並將其檔案型別修改為“*.ldif”,這裡修改為“ldap.ldif”,並輸入如下內容:

dn: O=FOUNDER,C=CN

objectClass: top

objectClass: organization

o: FOUNDER

b)儲存完畢,開啟命令列工具,執行如下命令:

ldapadd -x -D "CN=DOC,O=FOUNDER,C=CN" -W -f ldap.ldif

會提示請輸入密碼,輸入密碼後回車,即會提示“新增節點O=FOUNDER,C=CN成功”

c)然後我們再使用客戶端登陸,會發現如下的情況:


d)我們可以通過客戶端來進行實體的新增,也仍舊可以通過批量執行檔案的方式來操作,下面我們繼續通過命令檔案新增一些內容,但在這之前,請我們再次開啟配置檔案slapd.conf,找到如下段落:

#

# See slapd.conf(5) for details on configuration options.

# This file should NOT be world readable.

#

ucdata-path     ./ucdata

include               ./schema/core.schema

include              ./schema/cosine.schema

include              ./schema/corba.schema

include              ./schema/dyngroup.schema

include              ./schema/inetorgperson.schema

include              ./schema/java.schema

include              ./schema/misc.schema

include              ./schema/nis.schema

include              ./schema/openldap.schema

將粗體部分拷貝到檔案中,這都是一些實體類,伺服器預設已經為我們提供了非常多的資料類,也基本能夠滿足我們日常的使用需要,但是如果我們的資料型別實在太過特殊,無法通過搭配已有資料類來進行描述,我們可以自己編寫實體類,但在沒有熟悉其概念之前,還請不要貿然下手,因為裡面牽扯的概念很多,而且一個不注意,或者是空格,有的是時候,甚至是編碼的格式,都會導致伺服器無法正常啟動的問題,尤其是在windows平臺下,還請慎重!

e)擴充完我們的實體類後,我們需要重新啟動服務,然後,繼續編寫如下的程式碼到指令碼檔案中:

dn: cn=DOC,O=FOUNDER,C=CN

objectClass: organizationalRole

cn: DOC

dn: cn=Certificate,cn=DOC,O=FOUNDER,C=CN

objectClass: top

objectClass: organizationalRole

cn: Certificate

dn: cn=CRL,cn=DOC,O=FOUNDER,C=CN

objectClass: top

objectClass: organizationalRole

cn: CRL

dn:cn=Cert_01,cn=Certificate,cn=DOC,O=FOUNDER,C=CN

objectClass:person

objectClass:inetOrgPerson

cn:Cert_01

sn:8B4FB21E4588C29F3D4CDE2EB0B33E877A2D9C92

userCertificate;binary::MIIFJzCCBA+gAwIBAgIKEUaJgQAAAAAAAjANBgkqhkiG9w0BAQUFADBaMRMwEQYKCZImiZPyLGQBGRYDQ09NMRcwFQYKCZImiZPyLGQBGRYHRk9VTkRFUjEUMBIGCgmSJomT8ixkARkWBEhPTEQxFDASBgNVBAMMC+aWueato0FwYWJpMB4XDTA2MDgwODA1NTQzNVoXDTA3MDgwODA2MDQzNVowgZExCzAJBgNVBAYTAkNOMRIwEAYDVQQIDAnljJfkuqzluIIxDzANBgNVBAcMBuWMl+S6rDEOMAwGA1UEChMFQXBhYmkxEDAOBgNVBAsTB1Byb2R1Y3QxEjAQBgNVBAMMCeadqOahguaelzEnMCUGCSqGSIb3DQEJARYYZ3VpbGluX2dhdmluQGhvdG1haWwuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDbQKD/GFW/RsnxESA9WFZtXn4ihLBddsv6BrXMvpfuUDzbiyaIP/zkuFha7zquHtsyDP7zxrcqpG73szRRZuQltI9cfUJakxmxbpPMGSfdZfQTPOop1oQCLTshcg1txLQJbHUPWaW89kCLyalDtsGCaPziQbbp7MZCu9RgM21vWQIDAQABo4ICOTCCAjUwDgYDVR0PAQH/BAQDAgTwMEQGCSqGSIb3DQEJDwQ3MDUwDgYIKoZIhvcNAwICAgCAMA4GCCqGSIb3DQMEAgIAgDAHBgUrDgMCBzAKBggqhkiG9w0DBzAdBgNVHQ4EFgQU/cqm57cTWYBfcS12OgrZOUssXtwwEwYDVR0lBAwwCgYIKwYBBQUHAwIwHwYDVR0jBBgwFoAUHS4GWMc5SZMJrRUiYYAlFi2Nu/kwgZwGA1UdHwSBlDCBkTCBjqCBi6CBiIZBaHR0cDovL3lhbmdndWlsaW4uaG9sZC5mb3VuZGVyLmNvbS9DZXJ0RW5yb2xsLyE2NWI5ITZiNjNBcGFiaS5jcmyGQ2ZpbGU6Ly9cXHlhbmdndWlsaW4uSE9MRC5GT1VOREVSLkNPTVxDZXJ0RW5yb2xsXCE2NWI5ITZiNjNBcGFiaS5jcmwwgegGCCsGAQUFBwEBBIHbMIHYMGkGCCsGAQUFBzAChl1odHRwOi8veWFuZ2d1aWxpbi5ob2xkLmZvdW5kZXIuY29tL0NlcnRFbnJvbGwveWFuZ2d1aWxpbi5IT0xELkZPVU5ERVIuQ09NXyE2NWI5ITZiNjNBcGFiaS5jcnQwawYIKwYBBQUHMAKGX2ZpbGU6Ly9cXHlhbmdndWlsaW4uSE9MRC5GT1VOREVSLkNPTVxDZXJ0RW5yb2xsXHlhbmdndWlsaW4uSE9MRC5GT1VOREVSLkNPTV8hNjViOSE2YjYzQXBhYmkuY3J0MA0GCSqGSIb3DQEBBQUAA4IBAQBdH2cuKuT+xa125TNSkHo+WEsI1rvwwIGYG+c1wWjDp2tzh8u1ioaPJ+WIC5ViG4bc7r3rPZ6vUWaC0TIWE1//S87W5eEHc8ScARvfd/jz+62FocTcJEvEQ/xGoXeGx+vTf6tR1a+w0dn7AzIxjqaCIZr0wY1oxX3P3GVr2ZwOD3AK73gTUa9w3JDhHCsXsrJ3Ib/An9IXTdxD9Je+9hq/2PLJyM2kD5LhVCDbtPGxSvIB8LzlKEcDW37ZRXh+W/pWXZnMNVNjmVu1cvA96BnsDrPh3b9Nr52S5hzKnkIGd+gMhctCXH2e8u2jGaDlLlrxFN2yBXHiKNeMWLB+jrro

dn:cn=CRL_01,cn=CRL,cn=DOC,O=FOUNDER,C=CN

objectClass: organizationalRole

objectClass:pkiCA

cn: CRL_01

certificateRevocationList;binary::MIIDLjCCAhYCAQEwDQYJKoZIhvcNAQEFBQAwWjETMBEGCgmSJomT8ixkARkWA0NPTTEXMBUGCgmSJomT8ixkARkWB0ZPVU5ERVIxFDASBgoJkiaJk/IsZAEZFgRIT0xEMRQwEgYDVQQDDAvmlrnmraNBcGFiaRcNMDYwODA4MDY1NzIxWhcNMDYwODE1MTkxNzIxWjBWMCkCChFSIWYAAAAAAAMXDTA2MDgwODA3MDcxNFowDDAKBgNVHRUEAwoBBTApAgoRUitpAAAAAAAEFw0wNjA4MDgwNzA3MDlaMAwwCgYDVR0VBAMKAQKgggEuMIIBKjAfBgNVHSMEGDAWgBQdLgZYxzlJkwmtFSJhgCUWLY27+TAQBgkrBgEEAYI3FQEEAwIBADAKBgNVHRQEAwIBAjAcBgkrBgEEAYI3FQQEDxcNMDYwODE1MDcwNzIxWjCBygYJKwYBBAGCNxUOBIG8MIG5MIG2oIGzoIGwhoGtbGRhcDovLy9DTj0hNjViOSE2YjYzQXBhYmksQ049eWFuZ2d1aWxpbixDTj1DRFAsQ049UHVibGljJTIwS2V5JTIwU2VydmljZXMsQ049U2VydmljZXMsREM9VW5hdmFpbGFibGVDb25maWdETj9jZXJ0aWZpY2F0ZVJldm9jYXRpb25MaXN0P2Jhc2U/b2JqZWN0Q2xhc3M9Y1JMRGlzdHJpYnV0aW9uUG9pbnQwDQYJKoZIhvcNAQEFBQADggEBALXNPCNIi5A0mqaWFAeYZPgCAEbfSjFChmsoH7tFia5y5gIJDsimSGCYBwnKJBbuzHDczNk4a7jEugCfbfGbiZOfFFRerjvJ9pdUAHB9xjtAKAPIKKyuc8+ohLcewYzBD+fcD3QVes4iY0Hn7MSiH9KoaDhWvOiMzKo2VR2A+EBxBpNO5Rggms6G+Udp7HcNFms938PpOlYYLz5NwzpzEQgmJY+QXMHgCo8gGbN3z/l31u4yiJKVUUTeolvriJ7Cv+JdC/uf0tPxCUUpgEyedQRQW7OZClx7Ye1boMJqvqFbOh7rHAPB4uLax0Fn/us12+oLGQmAOUTYGhL1TEQ+J7A=

f)儲存後,重複步驟b中的命令,進行節點新增,之所以把完整的程式碼給出,也是方便大家進行直接動手實驗,因為這裡添加了證書檔案和證書吊銷列表檔案的資料,這兩種資料需要首先進行base64加密後,通過這種方式進行新增,而且要注意,其在檔案中,必須保證中間沒有任何多餘字元,尤其注意在賦值的時候的具體寫法,因為這兩部分資料在LDAP伺服器中是以二進位制的形式進行儲存的。

g)在應用中,我們如果需要使用一些實體類的話,必須首先關注其關鍵欄位都是那些,因為這些欄位在例項化的時候,都是必須賦值的,也是DN關鍵索引中必須要標明的,所以一定要慎重選擇。

h)好了,我們可以開啟客戶端檢視一下目前的資料結構了,圖示如下:

 

客戶端提供了很多的功能,如果打算深入學習的話,請多多嘗試,畢竟圖形化介面比較容易學習,但是命令列模式下,也是很方便的一種方式,如果我們有資料指令碼的話。