Jump to content 日本-日本語
≫ お問い合わせ

HP OpenVMS ACME LDAP : インストレーションおよび構成ガイド

第5章 問題発生時の対応

≫ 

OpenVMS ドキュメント ライブラリ

タイトルページ/目次
まえがき
第1章:概要
第2章:ACME LDAPエージェントのインストールと構成
第3章:グローバルマッピングとローカルマッピング
第4章:Active ServerとACMS LDAPエージェントの構成例
第5章:問題発生時の対応
第6章:制限事項
第7章:参考資料
索引
PDF
OpenVMS ホーム
ここから本文が始まります

この章では、発生が予想されるいくつかの問題に関して、問題発生時の対応方法について説明します。

5.1 LDAPACME$INIT 論理名定義に関するエラー

問題点:

@SYS$STARTUP:ACME$START.COM の実行時に、システムが以下のようなエラーを表示する。

$ @sys$startup:acme$start.com
Please ensure the following logical is defined /SYSTEM/EXECUTIVE_MODE
  LDAPACME$INIT

解決方法:

SYS$COMMON:[SYSMGR]ACME$START.COM@SYS$STARTUP:LDAPACME$STARTUP-STD コマンドの実行前に LDAPACME$INIT 論理名が定義されていない。 詳細は 2.5.1 項 「LDAP 構成ファイルの編集」 の手順を参照してください。

5.2 ACME$START.COM 実行時に発生するパラメータ指定に関するエラー

問題点:

@SYS$STARTUP:ACME$START.COM の実行時にシステムが以下のエラーを表示し、 SHOW SERVER ACME/FULL コマンドするとすべての ACME エージェントが停止状態であり、ログインができない。

$ @sys$startup:acme$start.com
%ACME-E-INVPARAMETER, parameter selector or descriptor is invalid

解決方法:

LDAPACME$INIT 論理名が間違った INI ファイル名に定義されています。以下の手順を実行してください。

  1. LDAPACME$INIT 論理名の割り当てをキャンセルします。

    $ deassign /system/exec LDAPACME$INIT

  2. ACME サーバーのプロセスを停止させます。

    $ set server acme/exit/wait
    
  3. SYS$STARTUP:ACME$START.COM ファイル内で LDAPACME$INIT 論理名が正しいファイルパスを指すように訂正します。

  4. スタートアップ時に ACME LDAP エージェントが起動されるように、ACME サーバーをオートモードで起動します。

    $ set server acme/start=auto

5.3 LDAP エージェントが正しく起動されない問題

問題点:

SHOW SERVER ACME/FULL コマンドを実行しても LDAP エージェントが表示されない。

$ sh server acme/full
ACME Information on node EARWIG  18-FEB-2010 05:50:06.40  Uptime 0 00:01:48

ACME Server id: 2  State: Processing New Requests
   Agents Loaded:        1   Active:      1
   Thread Maximum:       1   Count:       1
   Request Maximum:    826   Count:       0
   Requests awaiting service:             0
   Requests awaiting dialogue:            0
   Requests awaiting AST:                 0
   Requests awaiting resource:            0
   Logging status: Active
   Tracing status: Inactive
   Log file: "SYS$SYSROOT:[SYSMGR]ACME$SERVER.LOG;17"

ACME Agent id: 1  State: Active
   Name: "VMS"
   Image: "DISK$I64SYS:[VMS$COMMON.SYSLIB]VMS$VMS_ACMESHR.EXE;1"
   Identification: "VMS ACME built  20-SEP-2006"
   Information: "No requests completed since the last startup"
   Domain of Interpretation: Yes
   Execution Order:      1
   Credentials Type:     1   Name: "VMS"
   Resource wait count:                   0
$

解決方法:

SYS$STARTUP:ACME$START.COM の LDAP 論理名が正しく修正され、そのファイル内の @SYS$STARTUP:LDAPACME$STARTUP-STD !LDAP コマンド行のコメント記号が外されていることを確認します。 SYS$STARTUP:ACME$START.COM の修正方法の詳細については、2.5.1 項 「LDAP 構成ファイルの編集」 を参照してください。

LDAP エージェントが起動されている場合は、以下のように表示されます。

ACME Server id: 2  State: Processing New Requests
   Agents Loaded:        2   Active:      2
   Thread Maximum:       1   Count:       1
   Request Maximum:    826   Count:       0
   Requests awaiting service:             0
   Requests awaiting dialogue:            0
   Requests awaiting AST:                 0
   Requests awaiting resource:            0
   Logging status: Active
   Tracing status: Inactive
   Log file: "SYS$SYSROOT:[SYSMGR]ACME$SERVER.LOG;19"

ACME Agent id: 1  State: Active
   Name: "VMS"
   Image: "DISK$I64SYS:[VMS$COMMON.SYSLIB]VMS$VMS_ACMESHR.EXE;1"
   Identification: "VMS ACME built  20-SEP-2006"
   Information: "No requests completed since the last startup"
   Domain of Interpretation: Yes
   Execution Order:      1
   Credentials Type:     1   Name: "VMS"
   Resource wait count:                   0

ACME Agent id: 2  State: Active
   Name: "LDAP-STD"
   Image: "DISK$I64SYS:[VMS$COMMON.SYSLIB]LDAPACME$LDAP-STD_ACMESHR.EXE;1"
   Identification: "LDAP ACME Standard V1.5"
   Information: "ACME_LDAP_DOI Agent is initialized"
   Domain of Interpretation: Yes
   Execution Order:      2
   Credentials Type:     3   Name: "LDAP"
   Resource wait count:                   0
$

5.4 ログインに関する問題

問題点:

すべての ACME LDAP の構成を正しく修正したが、ユーザーがログインできない。

解決方法 1:

ping コマンドを使用して、LDAP INI ファイルのサーバー・ディレクティブで提供されている LDAP サーバーに到達可能かどうかを確認します。

$ tcpip ping
PING earwig (15.146.235.235): 56 data bytes
64 bytes from 15.146.235.235: icmp_seq=0 ttl=64 time=0 ms
64 bytes from 15.146.235.235: icmp_seq=1 ttl=64 time=0 ms
64 bytes from 15.146.235.235: icmp_seq=2 ttl=64 time=0 ms
64 bytes from 15.146.235.235: icmp_seq=3 ttl=64 time=0 ms


----earwig PING Statistics----
4 packets transmitted, 4 packets received, 0% packet loss
round-trip (ms)  min/avg/max = 0/0/0 ms

解決方法 2:

SYSUAF.DAT ファイルにそのユーザーの ExtAuth フラグが設定されていることを確認します。

解決方法 3:

TCPDUMP を使用して、構成された LDAP ポートでデータが流れていることを確認します。

$ tcpdump -w tcpdump.enc tcp port 389
tcpdump: Filtering in user process
tcpdump: listening on WE1, link-type EN10MB (Ethernet), capture size 96 bytes
*CANCEL*


24 packets captured
24 packets received by filter
0 packets dropped by kernel

$ dir *.enc

Directory SYS$SYSROOT:[SYSMGR]

TCPDUMP.ENC;1

Total of 1 file.
$
$ tcpdump -r TCPDUMP.ENC
reading from file tcpdump.enc, link-type EN10MB (Ethernet)
05:39:16.726000 IP opnvms.ind.hp.com.49160 > CSSN-DDRS.TESTDOMAIN.HP.COM.389: S 1252791091:1252791091(0) win 61440 <mss 1460,nop,wscale 0>
05:39:16.726000 IP CSSN-DDRS.TESTDOMAIN.HP.COM.389 > opnvms.ind.hp.com.49160: S 1725693481:1725693481(0) ack 1252791092 win 16384 <mss 1460,nop,wscale 0>
05:39:16.726000 IP opnvms.ind.hp.com.49160 > CSSN-DDRS.TESTDOMAIN.HP.COM.389: . ack 1 win 62780
05:39:16.726000 IP opnvms.ind.hp.com.49160 > CSSN-DDRS.TESTDOMAIN.HP.COM.389: P 1:78(77) ack 1 win 62780
05:39:16.728000 IP CSSN-DDRS.TESTDOMAIN.HP.COM.389 > opnvms.ind.hp.com.49160: P 1:23(22) ack 78 win 65458
05:39:16.729000 IP opnvms.ind.hp.com.49160 > CSSN-DDRS.TESTDOMAIN.HP.COM.389: P 78:154(76) ack 23 win 62780

解決方法 4 (C コンパイラが必要):

LDAP 構成の問題を解決するために、SYS$EXAMPLES:LDAP_EXAMPLES.C をコンパイルしたものを使用します。

コンパイルした LDAP_EXAMPLE.EXE ファイルを使用して、ディレクトリサーバーを検索できます。LDAP_EXAMPLE.EXE ファイルは、LDAP INI 構成ファイルのディレクティブと同様の引数を受け取ります。このため、LDAP_EXAMPLE.EXE の出力に基づいて INI ファイルに正しいディレクティブ情報を追加できます。

$ set def sys$examples
$ cc LDAP_EXAMPLE
$ link LDAP_EXAMPLE
$ ldap_example:=="$sys$examples:LDAP_EXAMPLE.EXE"
$ ldap_example
$ ldap_example
Usage:ldap_example server port bind_dn bind_password port_security cafile base_dn filter [attributes]

Mandatory arguments : For specifying NULL values use ""
server        --> The node which is providing LDAP access to a directory
port          --> The port through which to search
bind_dn       --> The bind dn, enclose in double quotes. Specify a "" if
                  anonymous bind is supported by LDAP directory server.
bind_password --> The bind password. Specify a "" if anonymous bind
                  is supported by LDAP directory server.
port_security --> The port security "SSL" or "TLS". Specify a "" if
                  you are not using any port security.
cafile        --> The location of the ca file. Specify a "" if ca file is
                   not present.
base_dn       --> The base object in the directory for the search operation.
                  This is a required argument.
filter        --> The search filter to be used. Specify a "" if the LDAP
                  search needs to be done without filters.

Optional arguments :
attributes    --> An optional list of one or more attributes to be returned
                  for each matching record.  If no attributes are specified,
                  then all user attributes will be returned.
Example :

 $ ldap_example server1 389 "" "" "" "" "ou=vms,o=testcom" ""
 $ ldap_example server1 389 "cn=admin,ou=vms,o=testcom" "WELCOME123" "" "" -
 "ou=vms,o=testcom" ""
 $ ldap_example server1 389 "cn=admin,ou=vms,o=testcom" "WELCOME123" "" "" -
 "ou=vms,o=testcom" "" "DN"
 $ ldap_example server1 389 "cn=admin,ou=vms,o=testcom" "WELCOME123" "" "" -
 "ou=vms,o=testcom" "" "DN" "SN"
 $ ldap_example server2 389 -
 "CN=query_account,CN=Users,DC=testdomain,DC=testcom,DC=com" -
 "welcome@123" "" "" "CN=Users,DC=testdomain,DC=testcom,DC=com" -
 "" "samaccountname"
 $ ldap_example server2 636 -
 "CN=query_account,CN=Users,DC=testdomain,DC=testcom,DC=com" -
 "welcome@123" "SSL" "" "CN=Users,DC=testdomain,DC=testcom,DC=com" -
 "" "samaccountname"
 $ ldap_example server2 389 "CN=query_account,CN=Users,DC=testdomain,DC=testcom,DC=com" -
 "welcome@123" "starttls" "" "CN=Users,DC=testdomain,DC=testcom,DC=com" -
 "" "samaccountname"
 $ ldap_example server2 636 "CN=query_account,CN=Users,DC=testdomain,DC=testcom,DC=com" -
 "welcome@123" "SSL" "SYS$SYSROOT:[SYSMGR]server2.CER" -
 "CN=Users,DC=testdomain,DC=testcom,DC=com" "" "samaccountname"

Program terminating

5.5 FAQ

SET SERVER ACME/TRACE=<value> コマンドを使用してトレースできるのはどんなイベントですか? また、トレースはどのように解釈できますか?

エージェントによって ACME$SERVER.LOG に記録された重要なエラーは、SET SERVER ACME/TRACE=<value> による設定がなくても参照できます。 なお、適切な値の設定については 表 5-1 「ビットマスク」 を参照してください。

たとえば、アクセスできないディレクトリサーバーに対して ACME LDAP エージェントが構成されている場合、 以下のようなエラーメッセージが表示されます。

%ACME-I-LOGAGENT, agent initiated log event on 25-FEB-2010 10:41:06.43             1
-ACME-I-THREAD, thread: id = 4, type = EXECUTION                                   2
-ACME-I-REQUEST, request information, id = 1, function = AUTHENTICATE_PRINCIPAL    3
-ACME-I-CLIENT, client information, PID = 2020044C                                 4
-ACME-I-AGENT, agent information, ACME id = 2, name = LDAP-STD                     5
-ACME-I-CALLOUT, active callout routine = acme$co_accept_principal                 6
-ACME-I-CALLBACK, active callback routine = acme$cb_send_logfile                   7
         
-ACME_-I-TRACE,  message from LDAP ACME agent: Internal error. LDAP search operation failed   8

1

イベント発生日時

2

エラーの原因となった ACME サーバーのスレッド

3

SYS$ACM に渡された関数コード

4

ACME サーバーと通信したクライアントのプロセス ID

5

この要求を処理したエージェント

6

この要求を処理した認証ルーチン

7

コールバックルーチン

8

ACME エージェントが返した状態情報

次に示すのは、構成ファイルで port_security = none の代わりに port_security = nonenone を指定した場合の例です。

%ACME-I-LOGAGENT, agent initiated log event on 25-FEB-2010 10:42:39.41
-ACME-I-THREAD, thread: id = 1, type = CONTROL
-ACME-I-CONTROL, control information, operation = STARTUP
-ACME-I-AGENT, agent information, ACME id = 2, name = LDAP-STD
-ACME-I-CALLOUT, active callout routine = acme$co_agent_startup
-ACME-I-CALLBACK, active callback routine = acme$cb_send_logfile
-ACME_-I-TRACE,  MESSAGE FROM LDAP ACME agent: Reading the config file (LDAPACME$INIT) failed  1

1

エラーメッセージ

%ACME-I- から次の%ACME-I- までの情報が 1 トレースとなります。

SET SERVER ACME/TRACE=<value> コマンドを実行するとトレースが有効になり、 SYS$MANAGER:ACME$SERVER.LOG ファイルにログが記録されます。

LDAP ACME エージェントが返した状態メッセージを確認するには、 ACME$SERVER.LOG で "MESSAGE FROM LDAP ACME agent" と表記されている行を探します。

トレースで有効にできるフラグの詳細については、OpenVMS システムで HELP SET SERVER ACME/TRACE コマンドを実行してオンラインヘルプを参照してください。

次の表に、トレースフラグの詳細を示します。

表 5-1 ビットマスク

ビットマスクイベント説明

0

agent

エージェントのトレースを有効にします。

1

general

汎用 (非特定) トレース

2

vm

仮想メモリ操作。すなわち、ACME_SERVER とエージェントの両方のメモリ割り当てと割り当て解除をトレースします (ACME_SERVER プロセスが提供するメモリサービスをエージェントが使用する場合)。

注記: エージェントが独自のあるいは標準 (malloc, calloc, free) のメモリ管理ルーチンを使用する場合、 トレースは有効ではありません。

3

ast

AST 処理

その ACME_SERVER に対してエージェントによって実行された AST をトレースします。

4

wqe

ACME_SERVER プロセスとエージェント間で流れる WQE パラメータ。

5

report

エージェントの状態あるいは属性の操作

6

message

メッセージング操作

7

dialog

ダイアログ操作

8

resource

エージェントのリソース操作。 エージェントは ACME_SERVER プロセスからいくつかのリソースロックを要求できます。

9

callout

エージェント・コールアウト・ルーチンACME LDAP などの個々のエージェントで実装された、ACME_SERVER から呼ばれるルーチン。

10

callout_status

エージェント・コールアウトが状態を返す。

 

たとえば、 agent、general、report、message、dialog、callout および callout_status のトレースを行うには 次のコマンドを実行します。

$ SET SERVER ACME/TRACE=1763

印刷用画面へ
プライバシー 本サイト利用時の合意事項
© 2013 Hewlett-Packard Development Company, L.P.