本文に進む 日本−日本語
日本HPホーム 製品とサービス お客様サポート/ ダウンロード ソリューション ご購入の方法
≫ お問い合わせ
日本HPホーム
Internet Express Version 6.7 for Tru64 UNIX: 管理ガイド

第12章 OpenSLP の管理

≫ 

Internet Express V6.7 ライブラリ

目次
第 1 章:管理ユーティリティ
第 2 章:ドキュメント以外の関連情報
第 3 章:ユーザの管理
第 4 章:ユーザの認証
第 5 章:メール配信の管理
第 6 章:メール・アクセスの管理
第 7 章:Webサービスの管理
第 8 章:XMLコンポーネントの管理
第 9 章:ネットワーク・セキュリティの管理
第 10 章:プロキシ・サービスの管理
第 11 章:LDAP Directory Serverの管理
第 12 章:OpenSLPの管理
第 13 章:FTPサーバの管理
第 14 章:Sambaの管理
第 15 章:Newsサーバの管理
第 16 章:Chatの管理
第 17 章:PostgreSQLとMySQLの管理
第 18 章:BINDサーバの管理
付録 A:Sendmailの補足情報
PDF
Tru64 UNIX ホーム
ここから本文が始まります

Internet Express は,OpenSLP サーバ,および SLP Version 2 の標準プロトコルに基づいた API (Application Programming Interfaces) を提供しています。SLP (Service Location Protocol) は,クライアントおよびサーバのアプリケーションがネットワーク上でシステム・サービスを検索および選択する手段を提供します。

この章では,次の内容を扱います。

12.1 OpenSLP の概要

Internet Express キットには,OpenSLP サーバ,および SLP Version 2 標準プロトコル (RFC 2608) に基づく API が提供されています。

OpenSLP を使用すると,サービスへの接続は,特定のサービス (たとえば印刷など) の要求と,サービス提供側の属性 (たとえばプリンタの構成など) に基づいて行われます。SLP フレームワークでは,ソフトウェア・エージェントが,サービス検索操作とサービス接続操作を定義するプロトコル・メッセージを処理します。ユーザ・エージェントはアプリケーションに代わってサービスの要求を行います。1 つのサービス呼び出しは複数のサービス・エージェントにマルチキャストされ,そのうちの 1 つまたは複数のエージェントが,要求されたサービスをアドバタイズし,サービス・プロバイダの場所を示す URL を戻します。サービスには,プリンタ,Web サーバ,ファイル・システム,データベース,ファックスなどがあります。

OpenSLP は静的なネットワーク・サービスの構成を提供するのではなく,ユーザやアプリケーションがネットワーク上で利用できるサービスを動的に検索し,ネットワークのホスト名を知らなくても適切なサービスを選択できるようにするものです。

12.2 構成ファイルとサンプル

IAESLP サブセットをインストールすると,次のファイルとサンプルがオペレーティング・システムにインストールされます。

ファイル / サンプル説明
libslp.so SLP ライブラリ。このファイルは,適切な所有権と保護が設定された状態で /usr/shlib にインストールされます (114KB)。
slpd SLP デーモン。このファイルは,適切な所有権と保護が設定された状態で /usr/sbin にインストールされます (196KB)。
keytool パブリック・キーまたはプライベート・キー生成ユーティリティ。このファイルは,適切な所有権と保護が設定された状態で /usr/sbin にインストールされます (29KB)。
slp.h SLP ヘッダ・ファイル。このファイルは,適切な所有権と保護が設定された状態で /usr/include にインストールされます (59KB)。
slp.conf SLP 構成ファイル。このファイルは適切な所有権と保護が設定された状態で /etc にインストールされます。
slp.reg SLP レジストレーション・ファイル。このファイルは適切な所有権と保護が設定された状態で /etc にインストールされます。
slp.spi SLP セキュリティ・パラメータ・インデックス・ファイル。このファイルは適切な所有権と保護が設定された状態で /etc にインストールされます。
example.cSLP サンプル・プログラム。このファイルは /usr/internet/openslp/examples にインストールされます (22KB)。インストールしたら,所有者をユーザに設定します。
example.conf SLP サンプル構成ファイル。このファイルは /usr/internet/openslp/examples にインストールされます。インストールしたら,所有者をユーザに設定します。
example.regSLP サンプル・レジストレーション・ファイル。このファイルは /usr/internet/openslp/examples にインストールされます。インストールしたら,所有者をユーザに設定します。
example.output SLP の期待された出力のサンプル。このファイルは /usr/internet/openslp/examples にインストールされます。

12.3 OpenSLP の構成

この節では,OpenSLP の構成に必要な以下の内容を説明します。

12.3.1 OpenSLP の構成ファイルおよびレジストレーション・ファイルの使用

Internet Express は省略時の構成ファイルとレジストレーション・ファイルを提供しています。構成ファイルは /etc/slp.conf ,レジストレーション・ファイルは /etc/slp.reg です。各ファイルにそれぞれの内容が記述されています。

OpenSLP の操作を変更するには,構成ファイルのエントリを変更する必要があります。

slpd デーモンのスタートアップ時にサービスを登録するには,レジストレーション・ファイルにエントリを追加する必要があります。

構成ファイルとレジストレーション・ファイルの詳しい説明は,RFC 2614,API for Service Location を参照してください。URL は以下のとおりです。

 http://www.ietf.org/rfc/rfc2614.txt

12.3.2 オプションのセキュリティの構成

OpenSLP は Tru64 UNIX システムで使用可能にできる SLP Version 2 をオプションとして提供しています。省略時の場合,OpenSLP は,Tru64 UNIX 上でセキュリティを使用可能にせずに実行します。

Tru64 UNIX での SLP Version 2 セキュリティの実装は,標準の OpenSLP の場合と以下の点で異なります。

  • Tru64 UNIX の実装ではセキュリティ・ライブラリに CDSA が使用される。

  • Tru64 UNIX は keytool ユーティリティを使用してパブリック・キーとプライベート・キーの組を生成する。

  • Tru64 UNIX はセキュリティ・パラメータ・インデックス・ファイル,/etc/slp.spi を使用する。

Tru64 UNIX システムでセキュリティを使用可能にするには,以下の手順を実行します。

  1. システムに CDSA セキュリティ・サブセットをインストールします。CDSA セキュリティ・サブセットのダウンロードに関する説明は,以下の Web サイトを参照してください。

     http://h30097.www3.hp.com/unix/cdsa
    注意:

    CDSA は Tru64 UNIX 5.1 以上でのみ使用できます。Tru64 UNIX 5.0A を実行している場合,セキュリティを使用可能にした状態の SLP は実行できません。

  2. /etc/slp.conf 構成ファイルで以下のエントリを指定し,OpenSLP でセキュリティを使用可能にします。

    net.slp.securityEnabled = true
  3. ルート・アカウントで keytool ユーティリティを実行し,パブリック・キーとプライベート・キーの対を生成します。これを行うには,システムにユーザ daemon のアカウントが必要です。keytool ユーティリティは,現在の作業ディレクトリで,プライベート・キーに 1 つのファイルを指定し,パブリック・キーにはそれに対応するファイルを指定します。

    これらのファイルは,システムの任意の場所に移動できます。ファイル名の形式は,priv_<unique_number> および pub_<unique_number> です。対応するパブリック・ファイルとプライベート・ファイルは,同じ一意の番号を持ちます。プライベート・キーのファイルは,最終的には daemon が所有者となり,読み取りは所有者のみの特権となります。パブリック・キーは root が所有者となり,所有者,グループ,および他のユーザによる読み取りが可能になります。

  4. セキュリティ・パラメータ・インデックス・ファイル,/etc/slp.spi を構成します。このファイルは各キーの対を SLP セキュリティ・パラメータ・インデックス (SPI) と関連付けます。形式は次のとおりです。

    <private | public> SPI_string path_of_file_generated_by_keytool

    たとえば,/etc/slp.spi ファイルの内容は以下のようになります。

    private spi1 secure_directory/priv_1234567890
    public spi1 any_directory/pub_1234567890
    public spi2 any_directory/pub_2234567890
    public spi3 any_directory/pub_3234567890
    
    注意:

    SLP Version 2 では,サポートされるプライベート・キーは各システムにつき 1 つだけです。/etc/slp.spi ファイルにプライベート・エントリが 2 つ以上ある場合,最初のプライベート・エントリのみが処理され,他のプライベート・エントリは無視されます。

    パブリック・キーのファイルは,完全に読み取り可能なパスを持っている必要があります。つまり,パブリック・キーのファイルの親ディレクトリも読み取り可能である必要があります。各システムにつき,最低 1 つのパブリック・キーが必要です。

12.3.3 サービスの実行

ネットワーク上でサービスを選択し,実行するには,まず OpenSLP デーモン (slpd) を実行し,SLP ポートへのバインディングを可能にします。

Internet Express 管理ユーティリティから,OpenSLP の起動,停止,再起動を実行できます。

  1. 「コンポーネント管理」メニューから,「OpenSLP for Tru64 UNIXの管理 」を選択します。「OpenSLP の管理」メニューが表示されます。

  2. 「OpenSLP の管理」メニューから,「OpenSLP デーモンの起動/停止」を選択します。OpenSLP デーモンが現在動作中か,停止しているかを示す「OpenSLP デーモンの起動/停止」フォームが表示されます。

    デーモンが停止しているときは,このフォームには「起動」ボタンと「キャンセル」ボタンが表示されます。デーモンが動作しているときは,このフォームには「停止」ボタン,「再起動」ボタン,「キャンセル」ボタンが表示されます。

  3. OpenSLP デーモンを起動するには,「起動」ボタンをクリックします。この操作で,OpenSLP デーモン (slpd) が一定の省略時のオプションで起動します。すなわち,セキュリティが使用可能になっていない場合は -c /etc/slp.config,使用可能になっている場合は -s /etc/slp.spi になります。

  4. OpenSLP デーモンを停止するには,「停止」ボタンをクリックします。この操作で,OpenSLP デーモン (slpd) は終了します。

  5. OpenSLP デーモンを停止して再度起動するには,「再起動」ボタンをクリックします。

    「キャンセル」ボタンをクリックすると,OpenSLP デーモンの現在の状態は変わらず,デーモンは変更されないことを示すメッセージが表示されます。

以下に,OpenSLP デーモンをコマンド行からコントロールする方法について説明します。

ネットワーク上でサービスを選択し,実行するには,まず SLP デーモン (slpd) を root として実行し,SLP ポートにバインドできるようにする必要があります。SLP デーモンは root 権限を手放し,ユーザ ID (suid) をこのデーモン・ユーザに設定します。slpd を root 以外のアカウントで実行しようとすると,回復不可能なエラーが発生します。このため slpd は root で実行する必要があります。

SLP デーモンを実行するには,以下のコマンドを使います。

# slpd -c configuration-file -r registration-file -s spi-file

各パラメータはオプションです。ユーザがファイルの別の場所を指定しない限り,/etc/slp.conf 構成ファイル,/etc/slp.reg レジストレーション・ファイル,および /etc/slp.spi インデックス・ファイルが使用されます。

その他の発生する可能性のあるエラー・メッセージについては,RFC 2614,API for Service Location の 4.1.2 節を参照してください。URL は以下のとおりです。

http://www.ietf.org/rfc/rfc2614.txt

12.4 サンプルの構成の実行

Internet Express は,ユーザが作成して実行できるサンプルの構成を提供しています。各サンプルは,特定の SLP の API をテストする example.c ソース・ファイルで完全に文書化されています。各種の関数コールの詳細は example.c ファイルを参照してください。

サンプルのレジストレーション・ファイル,example.reg はサービス登録に関する情報を含んでいます。サンプル構成ファイルの example.conf では,使用される有効範囲がリスト表示されています。(有効範囲とは,論理上の管理グループを構成する一連の SLP サービスのことです)。

サンプル構成を実行するには,以下の手順を実行します。

  1. root として以下のコマンドを使用し,サンプル構成用の SLP デーモン (slpd) を実行します。

    # slpd -c example.conf -r example.reg
    注意:

    サンプルの実行に,セキュリティは必須ではありません。

  2. SLP デーモンが正常に起動したら,任意のユーザでログインし,以下のコマンドを入力して SLP のサンプルを作成,実行します。SLP のサンプルは /usr/internet/openslp/examples ディレクトリにあります。

    # cc example.c -o example -lslp
    # example
    
  3. example.output ファイルに,このサンプル・プログラムの期待どおりの結果が出力されていることを確認します。

詳細は,RFC 2614 (http://www.ietf.org/rfc/rfc2614.txt) を参照してください。API for Service Location の構成ファイルおよびレジストレーション・ファイルについて説明されています。

12.5 SLP の API を使用する際の注意点

この節では,SLP の API が適用される方法をよりよく理解するための注意点を説明します。SLP の API に関する詳細情報は,RFC 2614,API for Service Location の 4 節 (C Language Binding) を参照してください。URL は以下のとおりです。

http://www.ietf.org/rfc/rfc2614.txt

OpenSLP コンポーネントに含まれているサンプルにある SLP の API (12.4 項 サンプルの構成の実行) を調べる際は,以下の点に注意します。

  • 有効範囲が何も指定されていないサービス登録は,省略時の有効範囲のメンバです。有効範囲を含むサービス登録は,省略時の有効範囲のメンバとして DEFAULT がリストされている必要があります。命名機関が指定されていないサービス登録は,省略時の命名機関 (IANA,空の文字列で表されます) のメンバです。

  • すべてのサンプルで使用される SLPOpen API は特定の言語のロケールのための SLP ハンドルを返します。省略時の言語は英語 (en) です。isAsync のパラメータは SLP_FALSE にする必要があります。

  • 同じくすべてのサンプルで使用される SLPClose API は,オープンしている SLP ハンドルをクローズし,そのハンドルに関連するすべてのリソースを解放します。コールバック関数の呼び出しは行われなくなります。

  • サンプル 1 で使用される SLPFindSrvTypes API は,サービスの種類 (つまり service:scheme) を検索します。この検索条件は有効範囲リストと命名機関によって限定されます。検索結果は指定されたコールバック関数に戻されます。検索条件は言語のロケールから独立しています。すべての言語のロケールのサービスの種類は,SLPOpen コールで指定されている言語のロケールとは関係なく戻され,この関数に対する SLPHandle パラメータによって表されます。

  • サンプル 1 で使用される SLPSrvTypeCallback API は,SLPFindSrvTypes の検索条件からサービスの種類を戻す関数の種類です。この関数の名前は,ユーザ定義で,SLPFindSrvTypes 関数に対するパラメータです。データは pvCookie パラメータを経由して,SLPFindSrvTypes の呼び出しを行うクライアントとコールバック関数の間で受け渡しできます。

  • サンプル 2,4,および 5 で使用される SLPFindSrvs API はサービスを検索します。検索条件は,サービスの種類,有効範囲リスト,または属性検索のフィルタによって制限することができます。検索結果は指定されたコールバック関数に戻されます。検索条件は,SLPOpen の呼び出しで指定された言語ロケールに限定され,この関数に対する SLPHandle パラメータによって表されます。

  • サンプル 2,4,および 5 で使用される SLPSrvURLCallback API は,SLPFindSrvs の検索条件からサービスを戻す関数です。この関数の名前は,ユーザ定義で,SLPFindSrvs 関数に対するパラメータです。データは pvCookie パラメータを経由して,SLPFindSrvs の呼び出しを行うクライアントとコールバック関数の間で受け渡しできます。この関数は,複数の値を戻す反復子として機能します。この関数がデータを戻し続けるには,SLP_TRUE を戻す必要があります。errCode パラメータの値が SLP_LAST_CALL のとき,検索する追加データはありません。

  • サンプル 3,6,および 7 で使用される SLPFindAttrs API はサービスの属性を検索します。検索条件は,有効範囲リスト,属性 ID,およびサービスの種類またはサービスの URL のどちらか一方によって限定することができます。検索結果は指定されたコールバック関数に戻されます。検索条件は,SLPOpen の呼び出しで指定された言語ロケールに限定され,この関数に対する SLPHandle パラメータによって表されます。

  • サンプル 3,6,および 7 で使用される SLPFindAttrCallback API は,SLPFinAttrs の検索条件からサービスを戻す関数です。この関数の名前は,ユーザ定義で,SLPFindAttrs 関数に対するパラメータです。データは pvCookie パラメータを経由して,SLPFindAttrs の呼び出しを行うクライアントとコールバック関数の間で受け渡しできます。この関数は,複数の値を戻す反復子として機能します。この関数がデータを戻し続けるには,SLP_TRUE を戻す必要があります。errCode パラメータの値が SLP_LAST_CALL のとき,検索する追加データはありません。

  • サンプル 8 は,SLPFindSrvTypesSLPFindSrvsSLPSrvTypeCallback,および SLPSrvURLCallback を使用します。このサンプルは,複数の SLP の API を使用して複雑な検索条件の実例を示します。

12.6 ドキュメント

OpenSLP のドキュメントは,Caldera Systems 社の Web サイト,および Web 上の他の SLP のサイトからオンラインでアクセスできます。OpenSLP サブセットに含まれるサンプル・ファイルおよび構成ファイル (12.2 項 構成ファイルとサンプル) は,ソフトウェアの操作を説明するドキュメントも含んでいます。

以下に,オンラインで入手できる SLP ドキュメントを説明します。

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