前のトピック: sepmdd デーモン(UNIX)

次のトピック: UID と GID の同期

sepmdd の機能

CA Access Control(seagent)は sepmdd を起動します。つまり、sepmdd を明示的に実行する必要はありません。 sepmdd デーモンは、CA Access Control の論理ユーザ ID「_seagent」および UNIX のユーザ ID root で実行されます。 sepmdd を実行する別の論理ユーザを指定することはできません。

PMDB は共通ディレクトリに格納されます。 共通ディレクトリの名前は、Policy Model が格納されている端末上の seos.ini ファイルの [pmd] セクションにある _pmd_directory_ トークンを使用して指定します。 各 Policy Model は、共通ディレクトリ内の別々のサブディレクトリに格納されます。 Policy Model の名前は、Policy Model が格納されているサブディレクトリの名前と同じです。

sepmdd の起動時に、更新の必要があるサブスクライバ データベースの有無が確認され、必要に応じてサブスクライバ データベースが更新されます。 この起動プロセスの後、sepmdd はユーザからの要求を待機します。ユーザからの要求は、Policy Model 管理プログラム(sepmd)および selang のユーティリティによって、seagent を使用して送信されます。

sepmdd は、受け取った要求を PMDB に適用し、ユーザに結果を返します。 要求を伝達する必要がある場合は、サブスクライバ データベースに更新情報を伝達します。

sepmdd デーモンは、_QD_timeout_ トークンに指定された期間にサブスクライバ データベースの更新を試みます。 制限時間が経過した時点でサブスクライバを更新できなかった場合、デーモンはそのサブスクライバの更新処理を省略して、サブスクライバ リストにある残りのサブスクライバの更新を試みます。 sepmdd は、サブスクライバ リストの 1 回目のスキャンが終了した後、2 回目のスキャンを実行します。2 回目のスキャンでは、1 回目のスキャンで更新できなかったサブスクライバの更新を試みます。 2 回目のスキャンでは、接続システム コールがタイムアウトになるまで(約 90 秒間)サブスクライバの更新を試みます。

注: _QD_timeout_ トークンが seos.ini ファイルおよび pmd.ini ファイルの両方に記述されている場合があります。 その場合、sepmdd は pmd.ini ファイルの値を使用します。

2 回目のスキャン時にもサブスクライバを更新できない場合、sepmdd は 30 分間隔で更新情報の送信を試みます。 この送信間隔の変更は、_retry_timeout_ トークンの設定で行います。 更新情報は受信したときと同じ順序で送信する必要があるため、sepmdd はサブスクライバ データベースが使用可能になるまで、その後の更新情報を送信しません。

サブスクライバ データベースの seos.ini ファイルの [pmd] セクションにある pull_option トークンを「yes」設定すると、サブスクライバ データベースがただちに更新されます。 マシン上の全 Policy Model について、ホストおよび各サブスクライバの PMDB が起動していることを seagent が親 Policy Model に通知すると、sepmdd は更新情報をただちに送信します。

sepmdd がサブスクライバ データベースの更新に失敗するたびに、Policy Model のエラー ログに警告メッセージが書き込まれます。 Policy Model のエラー ログの詳細については、「UNIX エンドポイント管理ガイド」を参照してください。

CA Access Control は、Policy Model に追加または Policy Model から削除されるサブスクライバを完全修飾しようとします。

使用不可能なサブスクライバのリストからサブスクライバを削除するには、以下のコマンドを入力します。

sepmd ‑r policyModel subscriber

サブスクライバ データベースと PMDB が異なる場合など、サブスクライバ データベースで更新が拒否された場合、sepmdd はその Policy Model のエラー ログにエラー メッセージを書き込み、処理を続行します。

エラー ログを表示するには、PMDB が格納されているホストで以下のコマンドを入力します。

sepmd ‑e policyModel

一定期間アクティブでない sepmdd は、自動的に停止することができます。 ただし、デフォルトでは、sepmdd は自動的に停止しません。 sepmdd を自動的に停止するには、_shutoff_time_ トークンに 0 より大きい値を設定します。 この値は、sepmdd がアクティブでない状態で待機する時間の長さ(分単位)を示します。この時間が経過すると、sepmdd は自動的に停止します。 sepmdd を手動で停止するには、以下のように入力します。

sepmd ‑k policyModel

重要: sepmdd を手動で停止する場合に、UNIXの kill9 コマンドを使用しないでください。このコマンドを使用すると、PMDB が壊れる場合があります。