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

配置 LDAP 用戶端以使用安全性

下列幾節說明如何在要與目錄伺服器建立安全連線的 LDAP 用戶端中,配置及使用 SSL。在 SSL 連線中,伺服器會將其憑證傳送至用戶端。用戶端必須先信任此憑證,以進行伺服器認證。接著,用戶端可選擇針對兩個 SASL 機制之一傳送其本身的憑證或資訊,以初始化其中一個用戶端認證機制。SASL 機制為 DIGEST-MD5 與使用 Kerberos V5 的 GSSAPI。

下列小節將以 ldapsearch 工具做為啟用 SSL 之 LDAP 用戶端的範例。目錄伺服器隨附的 ldapmodifyldapdeleteldapcompare 等工具的配置方式均相同。這些目錄存取工具均以 Directory SDK for C 為基礎,其詳細資訊載於「Sun Java System Directory Server Enterprise Edition 6.0 Reference」中。

若要在其他 LDAP 用戶端上配置 SSL 連線,請參閱應用程式隨附的文件。


備註 –

有一些用戶端應用程式可實作 SSL,但無法驗證伺服器是否具有可信任的憑證。這些用戶端應用程式可使用 SSL 協定進行資料加密,但無法確保機密度,也無法防止模擬。


下列幾節說明如何配置 LDAP 用戶端以使用安全性:

在用戶端中使用 SASL DIGEST-MD5

在用戶端中使用 DIGEST-MD5 機制時,無須安裝使用者憑證。但若要使用加密的 SSL 連線,則仍須如管理憑證中所述,信任伺服器憑證。

指定範圍

範圍可定義用以從中選取認證身份識別的名稱空間。在 DIGEST-MD5 認證中,必須對特定的範圍進行認證。

目錄伺服器會以機器完全合格的主機名稱做為 DIGEST-MD5 的預設範圍。伺服器會使用位於 nsslapd-localhost 配置屬性中的主機名稱小寫值。

若未指定範圍,則會使用伺服器所提供的預設範圍。

指定環境變數

在 UNIX 環境中,您必須設定 SASL-PATH 環境變數,LDAP 工具才找得到 DIGEST-MD5 程式庫。DIGEST-MD5 程式庫是一種可由 SASL 外掛程式動態載入的共用程式庫。請以下列方式設定 SASL_PATH 環境變數:


export SASL_PATH=SASL-library

此路徑假設目錄伺服器安裝於呼叫 LDAP 工具的相同主機上。

ldapsearch 指令範例

您可以在未使用 SSL 的情況下,執行 DIGEST-MD5 用戶端認證。下列範例將使用預設的 DIGEST-MD5 身份識別對映,判斷連結 DN:


$ ldapsearch -h host1 -p 1389 \
 -o mech=DIGEST-MD5 [ \
 -o realm="example.com"] \
 -o authid="dn:uid=bjensen,dc=example,dc=com" \
 -w - \
 -o authzid="dn:uid=bjensen,dc=example,dc=com" \
 -o secProp="minssf=56,maxssf=256,noplain" \
 -b "dc=example,dc=com" "(givenname=Richard)"

上述範例說明如何使用 -o (小寫字母 o) 選項,指定 SASL 選項。realm 是可選擇的項目,但若要指定此項目,則必須使用伺服器主機電腦完全合格的網域名稱。authidauthzid 皆須存在同時完全相同,但並不會使用為代理伺服器作業所設定的 authzid-w 密碼選項會套用至 authid

authid 的值為身份識別對映中所使用的主體。authid 應包含 dn: 前綴與目錄中的有效使用者 DN,或包含 u: 前綴與用戶端所決定的任何字串。authid 的此項用法可讓您使用DIGEST-MD5 身份識別對映中所述的對映。

讓 SSL 連線透過 LDAPS 安全連接埠提供加密,以及讓 DIGEST-MD5 提供用戶端認證,是最常見的配置。下列範例將透過 SSL 執行相同的作業:


$ ldapsearch -h host1 -p 1636 \
 -Z -P .mozilla/bjensen/BJE6001.slt/cert8.db \
 -N "cert-example" -w - \
 -o mech=DIGEST-MD5 [-o realm="example.com"] \
 -o authid="dn:uid=bjensen,dc=example,dc=com" \
 -o authzid="dn:uid=bjensen,dc=example,dc=com" \
 -o secProp="minssf=0,maxssf=0,noplain" \
 -b "dc=example,dc=com" "(givenname=Richard)"

在此範例中,由於作業會透過 SSL 執行,因此 ldapsearch 指令必須使用 -N-w 選項。但這些選項並不會使用於用戶端認證上。伺服器會在 authid 值中執行主體的其他 DIGEST-MD5 身份識別對映。

在用戶端中使用 Kerberos SASL GSSAPI

在用戶端中使用 GSSAPI 機制時,無需安裝使用者憑證,但必須配置 Kerberos V5 安全性系統。此外,若要使用加密的 SSL 連線,則必須如管理憑證中所述,信任伺服器憑證。

Procedure在主機上配置 Kerberos V5

您必須在將要執行 LDAP 用戶端的主機電腦上配置 Kerberos V5。

無法使用 DSCC 執行此作業。請依照此程序中的說明使用指令行。

  1. 請根據安裝指示進行 Kerberos V5 的安裝。

    Sun 建議安裝 Sun Enterprise Authentication Mechanism 1.0.1 用戶端軟體。

  2. 配置 Kerberos 軟體。

    使用 Sun Enterprise Authentication Mechanism 軟體,配置 /etc/krb5 下的檔案。此配置可設定 kdc 伺服器,並定義預設範圍與您的 Kerberos 系統所需的所有其他配置。

  3. 請視需要修改檔案 /etc/gss/mech,使 kerberos_v5 成為第一個列出的值。

Procedure指定 Kerberos 認證的 SASL 選項

無法使用 DSCC 執行此作業。請依照此程序中的說明使用指令行。

  1. 使用以 GSSAPI 機制啟用的用戶端應用程式前,請先以使用者主體初始化 Kerberos 安全性系統。


    $ kinit user-principal
    

    其中 user-principal 是您的 SASL 身份識別,如 bjensen@example.com

  2. 指定使用 Kerberos 時所需的 SASL 選項。

    請注意,在 UNIX 環境中,必須將 SASL_PATH 環境變數設為 SASL 程式庫的正確路徑。以 Korn shell 為例:


    $ export SASL_PATH=SASL-library
    

    此路徑假設目錄伺服器安裝於呼叫 LDAP 工具的相同主機上。

    ldapsearch 工具的下列範例說明如何使用 -o (小寫字母 o) 選項,指定使用 Kerberos 時所需的 SASL 選項:


    $ ldapsearch -h www.host1.com -p 1389 -o mech=GSSAPI -o authid="bjensen@EXAMPLE.COM" \
     -o authzid="bjensen@EXAMPLE.COM" -b "dc=example,dc=com" "(givenname=Richard)"

    authid 可以省略,因為它會出現在 kinit 指令所初始化的 Kerberos 快取中。如果 authid 存在,authidauthzid 必須完全相同,但並不會使用為代理伺服器作業所設定的 authzidauthid 的值為身份識別對映中所使用的主體。主體必須是完整的,其中必須包含範圍。請參閱GSSAPI 身份識別對映

使用 GSSAPI 與 SASL 配置 Kerberos 認證的範例

為目錄伺服器配置 Kerberos 有時是很複雜的作業。您應以 Kerberos 文件做為首要參考資料。

如需更多說明,請以下列範例程序評估所應執行的步驟。但請注意,此程序僅是範例。您必須根據本身的配置與環境,適當地修改此程序。

如需有關在 Solaris 作業系統中配置及使用 Kerberos 的更多資訊,請參閱「System Administration Guide: Security Services」。此指南是 Solaris 文件集的一部分。您也可以參考線上手冊。

    此範例與前述步驟的相關資訊如下:

  1. 此範例的假設

  2. 所有機器:編輯 Kerberos 用戶端配置檔

  3. 所有機器:編輯管理伺服器 ACL 配置檔

  4. KDC 機器:編輯 KDC 伺服器配置檔

  5. KDC 機器:建立 KDC 資料庫

  6. KDC 機器:建立管理主體與 Keytab

  7. KDC 機器:啟動 Kerberos 常駐程式

  8. KDC 機器:增加 KDC 與目錄伺服器機器的主機主體

  9. KDC 機器:增加目錄伺服器的 LDAP 主體

  10. KDC 機器:為 KDC 增加測試使用者

  11. 目錄伺服器機器:安裝目錄伺服器

  12. 目錄伺服器機器:配置目錄伺服器以啟用 GSSAPI

  13. 目錄伺服器機器:建立目錄伺服器 Keytab

  14. 目錄伺服器機器:為目錄伺服器增加測試使用者

  15. 目錄伺服器機器:以測試使用者的身份取得 Kerberos 票證

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

此範例的假設

此範例中的程序說明如何將一部機器配置成為金鑰分配中心 (KDC),並將另一部機器配置成執行目錄伺服器的機器。完成此程序後,使用者即可透過 GSSAPI 執行 Kerberos 認證。

在同一部機器上可同時執行 KDC 與目錄伺服器。若選擇在同一部機器上同時執行兩者,請使用相同的程序,但可在目錄伺服器機器的步驟中省略已對 KDC 機器執行過的部分。

此程序對於所使用的環境有許多相關假設。使用範例程序時,請根據您的環境適當地修改其值。這些假設包含:

所有機器:編輯 Kerberos 用戶端配置檔

/etc/krb5/krb5.conf 配置檔中含有可讓 Kerberos 用戶端與 KDC 通訊的必要資訊。

在 KDC 機器、目錄伺服器機器,以及任何將使用 Kerberos 對目錄伺服器進行認證的用戶端機器上,編輯 /etc/krb5/krb5.conf 配置檔。

更新的 /etc/krb5/krb5.conf 配置檔應如下列範例的內容所示。


範例 5–1 編輯後的 Kerberos 用戶端配置檔 /etc/krb5/krb5.conf


#pragma ident   "@(#)krb5.conf  1.2     99/07/20 SMI"
# Copyright (c) 1999, by Sun Microsystems, Inc.
# All rights reserved.
#
# krb5.conf template
# In order to complete this configuration file
# you will need to replace the __<name\>__ placeholders
# with appropriate values for your network.
#

[libdefaults]
        default_realm = EXAMPLE.COM
[realms]
        EXAMPLE.COM = {
                kdc = kdc.example.com
                admin_server = kdc.example.com
        }
[domain_realm]
        .example.com = EXAMPLE.COM
[logging]
        default = FILE:/var/krb5/kdc.log
        kdc = FILE:/var/krb5/kdc.log
        kdc_rotate = {

# How often to rotate kdc.log. Logs will get rotated no more
# often than the period, and less often if the KDC is not used
# frequently.
                period = 1d

# how many versions of kdc.log to keep around (kdc.log.0, kdc.log.1, ...)
                versions = 10
        }

[appdefaults]
        kinit = {
                renewable = true
                forwardable= true
        }
        gkadmin = {
                help_url =
 http://docs.sun.com:80/ab2/coll.384.1/SEAM/@AB2PageView/1195
        }

所有機器:編輯管理伺服器 ACL 配置檔

/etc/krb5/kadm5.acl 配置檔中,將 "___default_realm___" 取代為 "EXAMPLE.COM"。更新的檔案應如下列範例所示。


範例 5–2 編輯後的管理伺服器 ACL 配置檔


#
# Copyright (c) 1998-2000 by Sun Microsystems, Inc.
# All rights reserved.
#
# pragma ident   "@(#)kadm5.acl  1.1     01/03/19 SMI"
*/admin@EXAMPLE.COM *

KDC 機器:編輯 KDC 伺服器配置檔

編輯 /etc/krb5/kdc.conf 檔案,將 "___default_realm___" 取代為 "EXAMPLE.COM"。更新的檔案應如下列範例所示。


範例 5–3 編輯後的 KDC 伺服器配置檔 /etc/krb5/kdc.conf


# Copyright 1998-2002 Sun Microsystems, Inc.  All rights reserved.
# Use is subject to license terms.
#
#ident  "@(#)kdc.conf   1.2     02/02/14 SMI"

[kdcdefaults]
        kdc_ports = 88,750

[realms]
        EXAMPLE.COM = {
                profile = /etc/krb5/krb5.conf
                database_name = /var/krb5/principal
                admin_keytab = /etc/krb5/kadm5.keytab
                acl_file = /etc/krb5/kadm5.acl
                kadmind_port = 749
                max_life = 8h 0m 0s
                max_renewable_life = 7d 0h 0m 0s
                default_principal_flags = +preauth
        }

KDC 機器:建立 KDC 資料庫


$ /usr/sbin/kdb5_util create -r EXAMPLE.COM -s
Initializing database ’/var/krb5/principal’ for realm ’EXAMPLE.COM’,
master key name ’K/M@EXAMPLE.COM’
You will be prompted for the database Master Password.
It is important that you NOT FORGET this password.
Enter KDC database master key: password
Re-enter KDC database master key to verify: password
$

KDC 機器:建立管理主體與 Keytab

使用下列指令,建立具有 kws/admin@EXAMPLE.COM 主體與管理常駐程式所將使用之服務金鑰的管理使用者。


$ /usr/sbin/kadmin.local
kadmin.local:  add_principal kws/admin
Enter password for principal "kws/admin@EXAMPLE.COM": secret
Re-enter password for principal "kws/admin@EXAMPLE.COM": secret
Principal "kws/admin@EXAMPLE.COM" created.
kadmin.local:  ktadd -k /etc/krb5/kadm5.keytab kadmin/kdc.example.com
Entry for principal kadmin/kdc.example.com with kvno 3, encryption type
 DES-CBC-CRC added to keytab WRFILE:/etc/krb5/kadm5.keytab.
kadmin.local:  ktadd -k /etc/krb5/kadm5.keytab changepw/kdc.example.com

Entry for principal changepw/kdc.example.com with kvno 3, encryption type
 DES-CBC-CRC added to keytab WRFILE:/etc/krb5/kadm5.keytab.
kadmin.local:  ktadd -k /etc/krb5/kadm5.keytab kadmin/changepw
Entry for principal kadmin/changepw with kvno 3, encryption type
 DES-CBC-CRC added to keytab WRFILE:/etc/krb5/kadm5.keytab.
kadmin.local:  quit$

KDC 機器:啟動 Kerberos 常駐程式

執行下列指令,以啟動 KDC 與管理常駐程式:


$ /etc/init.d/kdc start
$ /etc/init.d/kdc.master start
$

KDC 程序會以 /usr/lib/krb5/krb5kdc 的形式顯示在程序清單中。管理常駐程式會顯示為 /usr/lib/krb5/kadmind

請注意,Solaris 10 作業系統中的常駐程式係由「服務管理功能 (SMF)」架構所管理。在 Solaris 10 作業系統上啟動常駐程式:


$ svcadm disable network/security/krb5kdc
$ svcadm enable network/security/krb5kdc
$ svcadm disable network/security/kadmin
$ svcadm enable network/security/kadmin
$

KDC 機器:增加 KDC 與目錄伺服器機器的主機主體

使用以下一系列的指令,為 KDC 與目錄伺服器機器的 Kerberos 資料庫增加主機主體。klist 等特定 Kerberos 公用程式會使用主機主體。


$ /usr/sbin/kadmin -p kws/admin
Enter Password: secret
kadmin:  add_principal -randkey host/kdc.example.com
Principal "host/kdc.example.com@EXAMPLE.COM" created.
kadmin:  ktadd host/kdc.example.com
Entry for principal host/kdc.example.com with kvno 3, encryption type
 DES-CBC-CRC added to keytab WRFILE:/etc/krb5/krb5.keytab.
kadmin:  add_principal -randkey host/directory.example.com
Principal "host/directory.example.com@EXAMPLE.COM" created.
kadmin:  ktadd host/directory.example.com
Entry for principal host/directory.example.com with kvno 3, encryption type
 DES-CBC-CRC added to keytab WRFILE:/etc/krb5/krb5.keytab.
kadmin:  quit
$

KDC 機器:增加目錄伺服器的 LDAP 主體

目錄伺服器必須具有本身的主體,才能對進行認證的使用者驗證其所持有之 Kerberos 票證。目錄伺服器目前採用硬式編碼要求 ldap/fqdn@realm 形式的主體,其中 fqdn 是目錄伺服器完全合格的網域名稱,而 realm 是 Kerberos 範圍。fqdn 必須符合安裝目錄伺服器時所提供之完全合格的名稱。在此情況下,目錄伺服器的主體將是 ldap/directory.example.com@EXAMPLE.COM

使用以下一系列的指令,建立目錄伺服器的 LDAP 主體:


$ /usr/sbin/kadmin -p kws/admin 
Enter Password: secret 
kadmin: add_principal -randkey ldap/directory.example.com 
Principal "ldap/directory.example.com@EXAMPLE.COM" created. 
kadmin: quit 
$

KDC 機器:為 KDC 增加測試使用者

Kerberos 資料庫中必須有進行認證的使用者,才能執行 Kerberos 認證。在此範例中,使用者的使用者名稱為 kerberos-test,這表示 Kerberos 主體為 kerberos-test@EXAMPLE.COM

使用此範例中的指令序列建立使用者:


$ /usr/sbin/kadmin -p kws/admin
Enter Password: secret
kadmin:  add_principal kerberos-test
Enter password for principal "kerberos-test@EXAMPLE.COM": secret

Re-enter password for principal "kerberos-test@EXAMPLE.COM": secret

Principal "kerberos-test@EXAMPLE.COM" created.
kadmin:  quit
$

目錄伺服器機器:安裝目錄伺服器

安裝 Directory Server 6.0 與最新的修補程式。以下是範例設定。

變數類型 

範例值 

完全合格的電腦名稱 

directory.example.com

安裝目錄 

/opt/SUNWdsee

實例路徑 

/local/ds

伺服器使用者 

unixuser

伺服器群組 

unixgroup

伺服器識別碼 

directory

伺服器連接埠 

389

尾碼 

dc=example,dc=com

管理員 ID 

admin

管理網域 

example.com

目錄伺服器管理員 DN 

cn=admin,cn=Administrators,cn=config

管理連接埠 

390

目錄伺服器機器:配置目錄伺服器以啟用 GSSAPI

首先建立 /data/ds/shared/bin/gssapi.ldif 檔案以定義目錄伺服器所應使用的對映,再根據主體識別進行認證的 Kerberos 使用者。建立下列範例中所顯示的相同檔案內容。


範例 5–4 gssapi.ldif 檔案內容


dn: cn=GSSAPI,cn=identity mapping,cn=config
changetype: add
objectClass: top
objectClass: nsContainer
cn: GSSAPI
dn: cn=default,cn=GSSAPI,cn=identity mapping,cn=config
changetype: add
objectClass: top
objectClass: nsContainer
objectClass: dsIdentityMapping
objectClass: dsPatternMatching
cn: default
dsMatching-pattern: \${Principal}
dsMatching-regexp: (.*)@EXAMPLE.COM
dsMappedDN: uid=\$1,ou=People,dc=example,dc=com

dn: cn=SASL,cn=security,cn=config
changetype: modify
replace: dsSaslPluginsPath
dsSaslPluginsPath: /usr/lib/mps/sasl2/libsasl.so

接著使用 ldapmodify 指令更新目錄伺服器,以啟用具有適當對映的 GSSAPI,如下列範例所示:


$ ldapmodify -D cn=admin,cn=Administrators,cn=config -w - -a -f /data/ds/shared/bin/gssapi.ldif
adding new entry cn=GSSAPI,cn=identity mapping,cn=config
adding new entry cn=default,cn=GSSAPI,cn=identity mapping,cn=config
modifying entry cn=SASL,cn=security,cn=config
$

目錄伺服器機器:建立目錄伺服器 Keytab

如前所述,目錄伺服器必須在 KDC 中具有本身的主體,才能透過 GSSAPI 認證 Kerberos 使用者。為使認證正確運作,主體資訊必須位於目錄伺服器機器的 Kerberos keytab 中。此項資訊必須位於執行目錄伺服器的使用者帳號可讀取的檔案中。

使用下列指令序列,建立具有正確特性的 keytab 檔案:


$ /usr/sbin/kadmin -p kws/admin
Enter Password: secret
kadmin:  ktadd -k //local/ds/config/ldap.keytab ldap/directory.example.com
Entry for principal ldap/directory.example.com with kvno 3, encryption type
 DES-CBC-CRC added to keytab
 WRFILE:/local/ds/config/ldap.keytab.
kadmin:  quit
$

變更此自訂 keytab 中的權限與所有權。讓用以執行目錄伺服器的使用者帳號擁有此 keytab,且只有該名使用者可加以讀取:


$ chown unixuser:unixgroup /local/ds/config /ldap.keytab
$ chmod 600 /local/ds/config/ldap.keytab
$

目錄伺服器預設會嘗試使用 /etc/kerb5/krb5.keytab 檔案中的標準 Kerberos keytab。但若讓目錄伺服器使用者可讀取此檔案,將會構成安全性風險,為目錄伺服器建立自訂 keytab 的用意即在於此。

配置目錄伺服器以使用新的自訂 keytab。請設定 KRB5_KTNAME 環境變數,以執行此作業。

最後,請重新啟動目錄伺服器,變更方可生效:


$ KRB5_KTNAME=/etc/krb5/ldap.keytab dsadm restart /local/ds 

目錄伺服器機器:為目錄伺服器增加測試使用者

若要對目錄伺服器認證 Kerberos 使用者,使用者必須有目錄項目可對應於其 Kerberos 主體。

在上一個步驟中,測試使用者以 kerberos-test@EXAMPLE.COM 的主體增加到 Kerberos 資料庫中。由於身份識別對映配置已增加到目錄中,因此該名使用者的對應目錄項目必須具有 DN uid=kerberos-test,ou=People,dc=example,dc=com

在目錄中增加使用者之前,必須以下列內容建立檔案 testuser.ldif


範例 5–5 新的 testuser.ldif 檔案


dn: uid=kerberos-test,ou=People,dc=example,dc=com
changetype: add
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: inetOrgPerson
uid: kerberos-test
givenName: Kerberos
sn: Test
cn: Kerberos Test
description: An account for testing Kerberos authentication through GSSAPI

接著,請使用 ldapmodify 將此項目增加到伺服器中:


$ ldapmodify -D cn=admin,cn=Administrators,cn=config -w - -f testuser.ldif
adding new entry uid=kerberos-test,ou=People,dc=example,dc=com
$

目錄伺服器機器:以測試使用者的身份取得 Kerberos 票證

測試使用者存在於 Kerberos 資料庫、目錄伺服器與 KDC 中。因此,現在可以透過 GSSAPI 使用 Kerberos,利用測試使用者的身份,對目錄伺服器進行認證。

首先,請使用 kinit 指令取得使用者的 Kerberos 票證,如下列範例所示:


$ kinit kerberos-test
Password for kerberos-test@EXAMPLE.COM: secret
$

接著,請使用 klist 指令檢視此票證的相關資訊:


$ klist
Ticket cache: /tmp/krb5cc_0
Default principal: kerberos-test@EXAMPLE.COM

Valid starting            Expires                   Service principal
Sat Jul 24 00:24:15 2004  Sat Jul 24 08:24:15 2004  krbtgt/EXAMPLE.COM@EXAMPLE.COM
        renew until Sat Jul 31 00:24:15 2004
$

用戶端機器:透過 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",說明連結已由適當的使用者身份執行。