Solaris WBEM Services の管理

第 4 章 MOF コンパイラ

この章では、Managed Object Format (MOF) コンパイラについて説明します。内容は次のとおりです。

MOF コンパイラについて

Managed Object Format (MOF) コンパイラは、MOF を宣言しているファイルを解析し、ファイルに定義されているクラスやインスタンスを Java クラスに変換し、管理データを一元的に保存する CIM Object Manager Repository にそれを追加します。コンパイラは、MOF ファイルに #pragma namespace("namespace_path") が指定されていなければ、Java クラスをデフォルトのネームスペース root¥cimv2 に読み込みます。

MOF コンパイラを起動する mofcomp コマンドは 各 CIM スキーマのインストール前に実行され、CIM スキーマと Solaris スキーマを記述する MOF ファイルをコンパイルします。CIM スキーマは、どの管理環境にもある管理オブジェクトを表すためのクラス定義の集合です。Solaris スキーマは CIM スキーマを拡張したもので、一般的な Solaris オペレーティング環境の管理オブジェクトを表すクラス定義の集合です。

MOF は、CIM のクラスやインスタンスを定義する言語です。MOF ファイルは、MOF 言語を使って CIM オブジェクトを記述する ASCII テキストファイルです。CIM オブジェクトは、プリンタ、ディスクドライブ、CPU などの管理リソースをコンピュータ用に表現したモデルです。

管理リソースの情報は MOF ファイルに格納されることがあります。MOF は Java に変換できるため、Java Virtual Machine を持つシステムで動作する Java アプリケーションならこの情報の解釈や交換を行うことができます。さらに、インストール後は、mofcomp コマンドを使って MOF ファイルをいつでもコンパイルすることができます。


注 -

CIM_Schema23.mof ファイルまたは Solaris_Schema1.0.mof ファイルを再コンパイルする場合は、コンパイルを行う前に root ユーザーに変更する必要があります。たとえば、次のようにします。


% /usr/sadm/bin/mofcomp -v -u root -p [root-password] ¥
/usr/sadm/mof/Solaris_Schema1.0.mof


mofcomp コマンド

mofcomp コマンドは、指定された MOF ファイルを CIM のクラスやインスタンスにコンパイルします。これらのクラスやインスタンスは Java クラスとして CIM Object Manager Repository に格納され、CIM Object Manager に渡されます。

mofcomp コマンドは、root として実行するか、コンパイルが行われているネームスペースに書き込み権を持つユーザーとして実行する必要があります。

/usr/sadm/bin/mofcomp [-help] [-v] [-sc] [-si] [-sq] [-version] [-c cimom_hostname] [-u username] [-p password] file
-help

mofcomp コマンドに対する引数を一覧表示します。

-c cimom-hostname

CIM Object Manager が動作するシステムを指定します。

-p password

CIM Object Manager に接続するためのパスワードを指定します。このオプションは、コンパイルで CIM Object Manager への特権アクセスが必要なときに指定します。-p-u を両方とも指定するとコマンド行にパスワードを入力する必要があるため、セキュリティリスクを伴います。パスワードをより安全に入力したい場合は、-u だけを指定し、-p を指定しなければ、コンパイラがパスワードのプロンプトを表示します。

-sc

クラスの設定 (set class) オプションを使ってコンパイラを実行します。このオプションは、指定されたクラスが存在し、インスタンスが無いとそのクラスを更新し、クラスが存在していないとエラーを返します。このオプションを指定しないと、コンパイラは、接続されているネームスペースに CIM クラスを追加し、そのクラスがすでに存在していればエラーを返します。

-si

インスタンスの設定 (set instance) オプションを使ってコンパイラを実行します。このオプションは、指定されたインスタンスが存在しているとそのインスタンスを更新し、存在していないとエラーを返します。このオプションを指定しないと、コンパイラは、接続されているネームスペースに CIM インスタンスを追加し、そのインスタンスがすでに存在していればエラーを返します。

-sq

修飾子タイプの設定 (set qualifier types) オプションを使ってコンパイラを実行します。このオプションは、指定された修飾子タイプが存在しているとその修飾子タイプを更新し、存在していないとエラーを返します。このオプションを指定しないと、コンパイラは、接続されているネームスペースに CIM 修飾子タイプを追加し、その修飾子タイプがすでに存在していればエラーを返します。

-u username

CIM Object Manager に接続するためのユーザー名を指定します。このオプションは、コンパイルで CIM Object Manager への特権アクセスが必要なときに指定します。-p-u を両方とも指定するとコマンド行にパスワードを入力する必要があるため、セキュリティリスクを伴います。パスワードをより安全に入力したい場合は、-u だけを指定し、-p を指定しなければ、コンパイラがパスワードのプロンプトを表示します。

-v

コンパイラを詳細モードで実行します。コンパイラメッセージが表示されます。

-version

MOF コンパイラのバージョンを表示します。

mofcomp コマンドは、正常に終了した場合は 0、失敗した場合は正の整数を返します。

MOF ファイルのコンパイル

コンパイルする MOF ファイルには、.mof 拡張子が付いていても付いていなくてもかまいません。CIM スキーマや Solaris スキーマを記述する MOF ファイルは /usr/sadm/mof にあります。

MOF ファイルをコンパイルする方法
  1. オプションを指定せずに MOF コンパイラを実行するには、次のようにします。


    # mofcomp  filename
    

    たとえば、次のように実行すると


    # mofcomp /usr/sadm/mof/Solaris_Application1.0.mof
    

    MOF ファイルが CIM Object Manager Repository にコンパイルされます。

セキュリティ上の注意

mofcomp コマンドを -p オプションまたは -u-p オプションとともに、コマンド行にパスワードを指定して実行すると、そのパスワードを他のユーザーが ps コマンドや history コマンドを使って知ることができます。


注 -

実行するコマンドにパスワードを指定する場合は、コマンドを実行した後でただちにパスワードを変更してください。


以下は、-u オプションおよび -p オプションとともに mofcomp コマンドを実行する、安全ではない (セキュリティ上危険な) 使用法の例です。


% mofcomp -u molly -p Log8Rif

mofcomp コマンドをこのように実行した後は、ただちにパスワードを変更すべきです。