Manpages

名 前

rmid − RMI 起 動 シ ス テ ム デ ー モ ン

形 式

rmid [ options ]

機 能 説 明

rmid ツ ー ル は 、 起 動 シ ス テ ム デ ー モ ン を 開 始 し ま す 。 起 動 可 能 な オ ブ ジ ェ ク ト を 起 動 シ ス テ ム に 登 録 し た り 、 Java VM で ア ク テ ィ ブ に し た り す る に は 、 あ ら か じ め 起 動 シ ス テ ム デ ー モ ン を 開 始 し て お く 必 要 が あ り ま す 。 起 動 可 能 な リ モ ー ト オ ブ ジ ェ ク ト を 使 っ た プ ロ グ ラ ム の 作 成 方 法 に つ い て の 詳 細 は 、 RMI の 仕 様 お よ び 起 動 の チ ュ ー ト リ ア ル を 参 照 し て く だ さ い 。

起 動 シ ス テ ム デ ー モ ン は 、 次 の よ う に セ キ ュ リ テ ィ ポ リ シ ー フ ァ イ ル を 指 定 し て rmid コ マ ン ド を 実 行 す る こ と に よ っ て 開 始 で き ま す 。

example% rmid −J−Djava.security.policy=rmid.policy

注 : Sun の rmid 実 装 を 実 行 す る 場 合 、 デ フ ォ ル ト で は セ キ ュ リ テ ィ ポ リ シ ー フ ァ イ ル を 指 定 す る 必 要 が あ り ま す 。 そ う す る こ と で 、 起 動 グ ル ー プ 用 の JVM の 起 動 に 、 各 ActivationGroupDesc 内 の 情 報 を 使 用 で き る か ど う か を rmid が 確 認 で き ま す 。 特 に 、 CommandEnvironment に よ り 指 定 さ れ る コ マ ン ド や オ プ シ ョ ン 、 お よ び ActivationGroupDesc の コ ン ス ト ラ ク タ に 渡 さ れ る す べ て の プ ロ パ テ ィ は 、 rmid 用 の セ キ ュ リ テ ィ ポ リ シ ー フ ァ イ ル で 明 示 的 に 許 可 す る こ と が 必 要 に な り ま し た 。 sun.rmi.activation.execPolicy プ ロ パ テ ィ の 値 は 、 起 動 グ ル ー プ の JVM の 起 動 に ActivationGroupDesc 内 の 情 報 を 使 用 で き る か ど う か の 判 断 に rmid が 使 用 す る ポ リ シ ー を 定 義 し ま す 。

rmid を デ フ ォ ル ト 設 定 で 実 行 す る こ と に よ り 、 以 下 が 行 わ れ ま す 。

こ の コ マ ン ド は ア ク テ ィ ベ ー タ を 起 動 す る と と も に デ フ ォ ル ト ポ ー ト の 1098 で 内 部 レ ジ ス ト リ を 開 始 し 、

ActivationSystemjava.rmi.activation.ActivationSystem と い う 名 前 に 内 部 レ ジ ス ト リ 上 で バ イ ン ド し ま す 。

レ ジ ス ト リ に ほ か の ポ ー ト を 指 定 す る に は 、 rmid の 起 動 時 に -port オ プ シ ョ ン を 指 定 し な け れ ば な り ま せ ん 。 た と え ば 、 次 の よ う に し ま す 。

rmid −J−Djava.security.policy=rmid.policy −port 1099

こ の コ マ ン ド は 、 起 動 シ ス テ ム デ ー モ ン を 開 始 し 、 レ ジ ス ト リ の デ フ ォ ル ト ポ ー ト 1099 で レ ジ ス ト リ を 開 始 し ま す 。

オ プ シ ョ ン

以 下 の オ プ シ ョ ン が 使 用 で き ま す 。
−C
someCommandLineOption

rmid の 子 プ ロ セ ス (起 動 グ ル ー プ ) が 作 成 さ れ た と き に 、 各 子 プ ロ セ ス に コ マ ン ド 行 引 数 と し て 渡 さ れ る オ プ シ ョ ン を 指 定 し ま す 。 た と え ば 、 次 の よ う に 指 定 す る と 、 起 動 シ ス テ ム デ ー モ ン に よ っ て 生 成 さ れ る 各 Java Virtual Machine に プ ロ パ テ ィ を 渡 す こ と が で き ま す 。

rmid −C−Dsome.property=value

コ マ ン ド 行 引 数 を 子 プ ロ セ ス に 渡 す 機 能 は 、 デ バ ッ グ を 行 う 際 に 便 利 で す 。 た と え ば 、 次 の よ う な コ マ ン ド を 実 行 で き ま す 。

rmid −C−Djava.rmi.server.logCalls=true

こ の コ マ ン ド に よ っ て 、 す べ て の 子 JVM で サ ー バ 呼 び 出 し の ロ グ が 残 る よ う に な り ま す 。

−JsomeCommandLineOption

rmid を 実 行 中 の java イ ン タ プ リ タ に 渡 す オ プ シ ョ ン を 指 定 し ま す 。 た と え ば 、 rmidrmid.policy と い う 名 前 の ポ リ シ ー フ ァ イ ル を 使 用 す る 場 合 、 rmid の コ マ ン ド 行 で −J オ プ シ ョ ン を 使 っ て java.security.policy プ ロ パ テ ィ を 定 義 し ま す 。 次 に 例 を 示 し ま す 。

rmid −J−Djava.security.policy=rmid.policy

−J−Dsun.rmi.activation.execPolicy=policy

起 動 グ ル ー プ の 実 行 対 象 と な る JVM の 起 動 に 使 用 す る コ マ ン ド お よ び コ マ ン ド 行 オ プ シ ョ ン を 検 査 す る た め に 、 rmid が 採 用 す る ポ リ シ ー を 指 定 し ま す 。 こ の オ プ シ ョ ン は 、 Sun の RMI 起 動 デ ー モ ン 実 装 だ け に 存 在 す る こ と に 注 意 し て く だ さ い 。 コ マ ン ド 行 に こ の プ ロ パ テ ィ を 指 定 し な い 場 合 、 結 果 は −J-Dsun.rmi.activation.execPolicy=default を 指 定 し た 場 合 と 同 じ に な り ま す 。 policy に 指 定 可 能 な 値 は 、 defaultpolicyClassName 、 ま た は none で す 。

default (ま た は 、 こ の プ ロ パ テ ィ を 指 定 し な い 場 合 )。 デ フ ォ ル ト の execPolicy で は 、 使 用 す る セ キ ュ リ テ ィ ポ リ シ ー フ ァ イ ル 内 の コ マ ン ド お よ び オ プ シ ョ ン を 実 行 す る 権 限 が rmid に 与 え ら れ る 場 合 に の み 、 rmid は 特 定 の コ マ ン ド 行 オ プ シ ョ ン を 指 定 し て コ マ ン ド を 実 行 で き ま す 。 default の 実 行 ポ リ シ ー を 使 用 で き る の は 、 デ フ ォ ル ト の 起 動 グ ル ー プ 実 装 だ け で す 。

rmid は 、 起 動 グ ル ー プ の JVM を 起 動 す る 際 、 そ の 登 録 さ れ た 起 動 グ ル ー プ 記 述 子 で あ る ActivationGroupDesc 内 の 情 報 を 使 用 し ま す 。 グ ル ー プ 記 述 子 で は 、 オ プ シ ョ ン の ActivationGroupDesc.CommandEnvironment を 指 定 し ま す 。 こ れ に は 、 起 動 グ ル ー プ を 開 始 す る 「 コ マ ン ド 」 、 お よ び コ マ ン ド 行 に 追 加 す る 任 意 の コ マ ン ド 行 「 オ プ シ ョ ン 」 が 含 ま れ ま す 。 デ フ ォ ル ト で は 、 rmidjava.home に あ る java コ マ ン ド を 使 用 し ま す 。 グ ル ー プ 記 述 子 に は 、 次 に 示 す よ う に 、 オ プ シ ョ ン と し て コ マ ン ド 行 に 追 加 さ れ る 「 プ ロ パ テ ィ 」 オ ー バ ー ラ イ ド も 含 ま れ ま す 。

−Dproperty=value

ア ク セ ス 権 com.sun.rmi.rmid.ExecPermission を 使 用 す る と 、 rmid に 対 し 、 グ ル ー プ 記 述 子 の CommandEnvironment で 指 定 さ れ た コ マ ン ド を 実 行 し て 起 動 グ ル ー プ を 開 始 す る 権 限 を 与 え る こ と が で き ま す 。 ア ク セ ス 権 com.sun.rmi.rmid.ExecOptionPermission を 使 用 す る と 、 起 動 グ ル ー プ を 開 始 す る と き に 、 グ ル ー プ 記 述 子 で プ ロ パ テ ィ オ ー バ ー ラ イ ド と し て 指 定 さ れ た コ マ ン ド 行 オ プ シ ョ ン 、 ま た は CommandEnvironment で オ プ シ ョ ン と し て 指 定 さ れ た コ マ ン ド 行 オ プ シ ョ ン を rmid か ら 使 用 で き ま す 。

rmid に さ ま ざ ま な コ マ ン ド お よ び オ プ シ ョ ン を 実 行 す る 権 限 を 与 え る 場 合 、 ア ク セ ス 権 ExecPermission お よ び ExecOptionPermission を 普 遍 的 に (つ ま り 、 す べ て の コ ー ド ソ ー ス に 対 し て ) 許 可 す る 必 要 が あ り ま す 。
ExecPermission

ExecPermission ク ラ ス は 、 起 動 グ ル ー プ を 開 始 す る た め に rmid が 特 定 の 「 コ マ ン ド 」 を 実 行 す る 権 限 を 表 し ま す 。

構 文
ExecPermission
の 「 名 前 」 は 、 rmid に 実 行 権 限 を 与 え る コ マ ン ド の パ ス 名 で す 。 「 /*」 (「 /」 は フ ァ イ ル 区 切 り 文 字 、 つ ま り File.separatorChar ) で 終 わ る パ ス 名 は 、 そ の デ ィ レ ク ト リ に 含 ま れ る す べ て の フ ァ イ ル を 表 し ま す 。 「 /-」 で 終 わ る パ ス 名 は 、 そ の デ ィ レ ク ト リ に 含 ま れ る す べ て の フ ァ イ ル と サ ブ デ ィ レ ク ト リ (再 帰 的 に ) を 表 し ま す 。 パ ス 名 に 特 別 な ト ー ク ン 「 <<ALL FILES>>」 を 指 定 し た 場 合 は 、 任 意 の フ ァ イ ル に 一 致 し ま す 。

注 : 「 *」 が 1 つ だ け 指 定 さ れ た パ ス 名 は 、 現 在 の デ ィ レ ク ト リ 内 の す べ て の フ ァ イ ル を 表 し 、 「 -」 が 1 つ だ け 指 定 さ れ た パ ス 名 は 、 現 在 の デ ィ レ ク ト リ 内 の す べ て の フ ァ イ ル と 、 現 在 の デ ィ レ ク ト リ に 含 ま れ る す べ て の フ ァ イ ル と サ ブ デ ィ レ ク ト リ (再 帰 的 に ) を 表 し ま す 。

ExecOptionPermission

ExecOptionPermission ク ラ ス は 、 起 動 グ ル ー プ の 開 始 時 に rmid が 特 定 の コ マ ン ド 行 「 オ プ シ ョ ン 」 を 使 用 す る 権 限 を 表 し ま す 。 ExecOptionPermission の 「 名 前 」 は 、 コ マ ン ド 行 オ プ シ ョ ン の 値 で す 。

構 文
オ プ シ ョ ン で は 、 制 限 付 き ワ イ ル ド カ ー ド 指 定 が サ ポ ー ト さ れ ま す 。 ア ス タ リ ス ク は 、 ワ イ ル ド カ ー ド マ ッ チ ン グ を 指 定 し ま す 。 ア ス タ リ ス ク は 、 オ プ シ ョ ン 名 自 体 を 表 す (つ ま り 、 す べ て の オ プ シ ョ ン に 一 致 す る ) た め に 使 用 で き ま す 。 ま た 、 「 .」 お よ び 「 =」 の 次 に 指 定 す る 場 合 に の み 、 オ プ シ ョ ン 名 の 最 後 に ア ス タ リ ス ク を 使 用 で き ま す 。

例 を 示 し ま す 。 「 *」 、 「 -Dfoo.*」 、 「 -Da.b.c=*」 は 有 効 で す 。 「 *foo」 、 「 -Da*b」 、 「 ab*」 は 無 効 で す 。

rmid の ポ リ シ ー フ ァ イ ル

rmid に さ ま ざ ま な コ マ ン ド お よ び オ プ シ ョ ン を 実 行 す る 権 限 を 与 え る 場 合 は 、 ア ク セ ス 権 ExecPermission お よ び ExecOptionPermission を 普 遍 的 に (つ ま り 、 す べ て の コ ー ド ソ ー ス に 対 し て ) 許 可 す る 必 要 が あ り ま す 。 こ れ ら の ア ク セ ス 権 を 検 査 す る の は rmid だ け で あ る た め 、 普 遍 的 に 許 可 し て も 安 全 で す 。

rmid に さ ま ざ ま な 実 行 権 限 を 許 可 す る ポ リ シ ー フ ァ イ ル の 例 を 、 次 に 示 し ま す 。

grant {
permission com.sun.rmi.rmid.ExecPermission
"/files/apps/java/jdk1.2.2/bin/java";

permission com.sun.rmi.rmid.ExecPermission
"/files/apps/rmidcmds/*";

permission com.sun.rmi.rmid.ExecOptionPermission
"−Djava.security.policy=/files/policies/group.policy";

permission com.sun.rmi.rmid.ExecOptionPermission
"−Djava.security.debug=*";

permission com.sun.rmi.rmid.ExecOptionPermission
"−Dsun.rmi.*";
};

最 初 の ア ク セ ス 権 は 、 rmid に 対 し 、 パ ス 名 に よ り 明 示 さ れ た 1.2.2 バ ー ジ ョ ン の java コ マ ン ド を 実 行 す る 許 可 を 与 え ま す 。 デ フ ォ ル ト で は 、 java.home に あ る java コ マ ン ド の バ ー ジ ョ ン ( rmid が 使 用 す る の と 同 じ も の ) が 使 用 さ れ る た め 、 ポ リ シ ー フ ァ イ ル で 指 定 す る 必 要 は あ り ま せ ん 。 3 番 目 の ア ク セ ス 権 は 、 rmid に 対 し 、 デ ィ レ ク ト リ /files/apps/rmidcmds 内 の 任 意 の コ マ ン ド を 実 行 す る 権 限 を 与 え ま す 。

4 番 目 に 許 可 さ れ た ア ク セ ス 権 ExecOptionPermission は 、 rmid に 対 し 、 セ キ ュ リ テ ィ ポ リ シ ー フ ァ イ ル を /files/policies/group.policy に 定 義 す る 起 動 グ ル ー プ を 開 始 す る 権 限 を 与 え ま す 。 次 の ア ク セ ス 権 は 、 起 動 グ ル ー プ が java.security.debug プ ロ パ テ ィ を 使 用 す る 権 限 を 与 え ま す 。 最 後 の ア ク セ ス 権 は 、 起 動 グ ル ー プ が sun.rmi プ ロ パ テ ィ 名 階 層 内 の 任 意 の プ ロ パ テ ィ を 使 用 す る 権 限 を 与 え ま す 。

ポ リ シ ー フ ァ イ ル を 使 っ て rmid を 起 動 す る に は 、 rmid の コ マ ン ド 行 で java.security.policy プ ロ パ テ ィ を 指 定 す る 必 要 が あ り ま す 。 次 に 例 を 示 し ま す 。

rmid −J−Djava.security.policy=rmid.policy

policyClassName

デ フ ォ ル ト の 動 作 で は 十 分 な 柔 軟 性 が 得 ら れ な い 場 合 、 管 理 者 は rmid の 起 動 時 に 、 checkExecCommand メ ソ ッ ド が 実 行 さ れ る ク ラ ス の 名 前 を 指 定 す る こ と に よ り 、 rmid が 実 行 す る コ マ ン ド を 検 査 で き ま す 。

policyClassName に は 、 public で 引 数 を 必 要 と し な い コ ン ス ト ラ ク タ と と も に public ク ラ ス を 指 定 し ま す 。 ま た 、 次 の checkExecCommand メ ソ ッ ド 実 装 も 指 定 し ま す 。

public void checkExecCommand(ActivationGroupDesc desc,
String[] command)
throws SecurityException;

起 動 グ ル ー プ を 開 始 す る 前 に 、 rmid は 、 ポ リ シ ー の checkExecCommand メ ソ ッ ド を 呼 び 出 し て 、 起 動 グ ル ー プ の 記 述 子 お よ び 起 動 グ ル ー プ を 開 始 す る 完 全 な コ マ ン ド を 含 む 配 列 を 渡 し ま す 。 checkExecCommandSecurityException を ス ロ ー す る 場 合 、 rmid は 起 動 グ ル ー プ を 開 始 せ ず 、 オ ブ ジ ェ ク ト の 起 動 を 試 み て い る 呼 び 出 し 側 に ActivationException が ス ロ ー さ れ ま す 。

none

sun.rmi.activation.execPolicy プ ロ パ テ ィ の 値 が 「 none」 の 場 合 、 rmid は 、 起 動 グ ル ー プ の 開 始 コ マ ン ド の 検 証 を 一 切 行 い ま せ ん 。

−log dir

起 動 シ ス テ ム デ ー モ ン が デ ー タ ベ ー ス お よ び 関 連 情 報 を 書 き 込 む の に 使 う 、 デ ィ レ ク ト リ の 名 前 を 指 定 し ま す 。 デ フ ォ ル ト で は 、 rmid コ マ ン ド を 実 行 し た デ ィ レ ク ト リ に log と い う ロ グ デ ィ レ ク ト リ が 作 成 さ れ ま す 。

−port port

rmid の レ ジ ス ト リ が 使 う ポ ー ト を 指 定 し ま す 。 起 動 シ ス テ ム デ ー モ ン は 、 java.rmi.activation.ActivationSystem と い う 名 前 で ActivationSystem を レ ジ ス ト リ に バ イ ン ド し ま す 。 し た が っ て 、 ロ ー カ ル マ シ ン の ActivationSystem は 、 次 の よ う に Naming.lookup メ ソ ッ ド を 呼 び 出 す こ と に よ っ て 取 得 で き ま す 。
import java.rmi.*;
import java.rmi.activation.*;

ActivationSystem system;
system = (ActivationSystem)
Naming.lookup("//:port/java.rmi.activation.ActivationSystem");

−stop

-port オ プ シ ョ ン に よ っ て 指 定 さ れ た ポ ー ト の 、 現 在 の rmid の 呼 び 出 し を 停 止 し ま す 。 ポ ー ト の 指 定 が な い 場 合 は 、 ポ ー ト 1098 で 実 行 さ れ て い る rmid を 停 止 し ま す 。

環 境

CLASSPATH

ユ ー ザ 定 義 ク ラ ス へ の パ ス を シ ス テ ム に 通 知 す る た め に 使 用 し ま す 。 デ ィ レ ク ト リ は コ ロ ン で 区 切 り ま す 。 以 下 に 例 を 示 し ま す 。

example% .:/usr/local/java/classes

関 連 項 目

rmic(1)
次 に つ い て は 、 java.sun.com を 参 照 ま た は 検 索 し て く だ さ い 。
RMI の 仕 様 @

http://java.sun.com/j2se/1.4/docs/guide/rmi/spec/rmiTOC.html : 英 語 版