Sun Java System Directory Server Enterprise Edition 6.2 管理指南

用戶端機器:透過 GSSAPI 對目錄伺服器進行認證

最後一個步驟是使用 GSSAPI,對目錄伺服器進行認證。目錄伺服器隨附的 ldapsearch 公用程式可支援 SASL 認證,包含 GSSAPI、DIGEST-MD5 與 EXTERNAL 等機制。但若要使用 GSSAPI 進行連結,則必須為用戶端提供 SASL 程式庫的路徑。藉由設定 SASL_PATH 環境變數提供 lib/sasl 目錄的路徑:


$ SASL_PATH=SASL-library
$ export SASL_PATH
$

若要使用 ldapsearch 實際執行目錄伺服器的 Kerberos 型認證,您必須包含 -o mech=GSSAPI-o authzid=principal 引數。

此外,還必須指定完全合格的主機名稱,在此案例中為 -h directory.example.com,此名稱必須與伺服器之 cn=confignsslapd-localhost 屬性值相符。在此必須使用 -h 選項,因為 GSSAPI 認證程序中必須要有用戶端所提供的主機名稱,用以比對伺服器所提供的主機名稱。

下列範例將在 dc=example,dc=com 項目認證為先前所建立的 Kerberos 測試使用者帳號時,擷取此項目:


$ ldapsearch -h directory.example.com -p 389 -o mech=GSSAPI \
 -o authzid="kerberos-test@EXAMPLE.COM" -b "dc=example,dc=com" -s base "(objectClass=*)"
version: 1
dn: dc=example,dc=com
dc: example
objectClass: top
objectClass: domain
$

查看目錄伺服器存取記錄,以確定認證是否已如預期般進行處理:


$ tail -12 /local/ds/logs/access

[24/Jul/2004:00:30:47 -0500] conn=0 op=-1 msgId=-1 - fd=23 slot=23 LDAP 
		connection from 1.1.1.8 to 1.1.1.8
[24/Jul/2004:00:30:47 -0500] conn=0 op=0 msgId=1 - BIND dn="" method=sasl 
     version=3 mech=GSSAPI
[24/Jul/2004:00:30:47 -0500] conn=0 op=0 msgId=1 - RESULT err=14 tag=97 
     nentries=0 etime=0, SASL bind in progress
[24/Jul/2004:00:30:47 -0500] conn=0 op=1 msgId=2 - BIND dn="" method=sasl 
     version=3 mech=GSSAPI
[24/Jul/2004:00:30:47 -0500] conn=0 op=1 msgId=2 - RESULT err=14 tag=97 
     nentries=0 etime=0, SASL bind in progress
[24/Jul/2004:00:30:47 -0500] conn=0 op=2 msgId=3 - BIND dn="" method=sasl 
     version=3 mech=GSSAPI
[24/Jul/2004:00:30:47 -0500] conn=0 op=2 msgId=3 - RESULT err=0 tag=97 
     nentries=0 etime=0 dn="uid=kerberos-test,ou=people,dc=example,dc=com"
[24/Jul/2004:00:30:47 -0500] conn=0 op=3 msgId=4 - SRCH base="dc=example,dc=com"
     scope=0 filter="(objectClass=*)" attrs=ALL
[24/Jul/2004:00:30:47 -0500] conn=0 op=3 msgId=4 - RESULT err=0 tag=101 nentries=1 
     etime=0
[24/Jul/2004:00:30:47 -0500] conn=0 op=4 msgId=5 - UNBIND
[24/Jul/2004:00:30:47 -0500] conn=0 op=4 msgId=-1 - closing - U1
[24/Jul/2004:00:30:48 -0500] conn=0 op=-1 msgId=-1 - closed.
$

此範例說明連結為三步驟的程序。前兩個步驟會傳回 LDAP 結果 14 (SASL 連結進行中),而第三個步驟說明連結已順利完成。method=sasl mech=GSSAPI 標記說明連結採用 GSSAPI SASL 機制。成功連結回應結尾處的 dn="uid=kerberos-test,ou=people,dc=example,dc=com",說明連結已由適當的使用者身份執行。