comparison src/linux/doc/man/ja/rmid.1 @ 0:37a05a11f281

Initial load
author duke
date Sat, 01 Dec 2007 00:00:00 +0000
parents
children b056c42ea5b4
comparison
equal deleted inserted replaced
-1:000000000000 0:f0465858e763
1 '\" t
2 .\"
3 .\" Copyright 2000-2006 Sun Microsystems, Inc. All Rights Reserved.
4 .\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 .\"
6 .\" This code is free software; you can redistribute it and/or modify it
7 .\" under the terms of the GNU General Public License version 2 only, as
8 .\" published by the Free Software Foundation.
9 .\"
10 .\" This code is distributed in the hope that it will be useful, but WITHOUT
11 .\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
12 .\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
13 .\" version 2 for more details (a copy is included in the LICENSE file that
14 .\" accompanied this code).
15 .\"
16 .\" You should have received a copy of the GNU General Public License version
17 .\" 2 along with this work; if not, write to the Free Software Foundation,
18 .\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
19 .\"
20 .\" Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
21 .\" CA 95054 USA or visit www.sun.com if you need additional information or
22 .\" have any questions.
23 .\"
24 .\"
25 .TH rmid 1 "2006 年 9 月 4 日" "Java SE 6" "ユーザーコマンド"
26 .SH "名前"
27 rmid \- RMI 起動システムデーモン
28 .LP
29
30 .LP
31 .LP
32 \f3rmid\fP で起動システムデーモンを開始すると、オブジェクトを仮想マシン (VM) に登録して起動できるようになります。
33 .LP
34 .SH "形式"
35 .B rmid
36 [
37 .I options
38 ]
39 .SH "機能説明"
40 .IX "RMI activation system daemon" "" "RMI activation system daemon \(em \fLrmid\fP"
41 .IX "rmid" "" "\fLrmid\fP \(em RMI activation system daemon"
42 .B rmid
43 ツールは、起動システムデーモンを開始します。起動可能なオブジェクトを起動
44 システムに登録したり、Java VM でアクティブにしたりするには、あらかじめ起動
45 システムデーモンを開始しておく必要があります。
46 起動可能なリモートオブジェクト
47 を使ったプログラムの作成方法についての詳細は、Java RMI の仕様
48 .fi
49 (http://java.sun.com/javase/6/docs/platform/rmi/spec/rmitoc.html)
50 および起動のチュートリアル
51 .fi
52 (http://java.sun.com/javase/6/docs/technotes/guides/rmi/activation/overview.html)
53 を参照してください。
54 .LP
55 起動システムデーモンは、次のようにセキュリティポリシーファイルを指定して
56 .B rmid
57 コマンドを実行することによって開始できます。
58 .LP
59 .ti +5n
60 .B % rmid \-J\-Djava.security.policy=rmid.policy
61 .LP
62 注: Sun の
63 .BR rmid
64 実装を実行する場合、デフォルトではセキュリティポリシーファイルを指定する必要があります。そうすることで、起動グループ用の JVM の起動に、各
65 .B ActivationGroupDesc
66 内の情報を使用できるかどうかを
67 .B rmid
68 が確認できます。特に、
69 .B CommandEnvironment
70 により指定されるコマンドやオプション、および
71 .B ActivationGroupDesc
72 のコンストラクタに渡されるすべての
73 .B プロパティ
74 は、
75 .BR rmid
76 用のセキュリティポリシーファイルで明示的に許可することが必要になりました。
77 .B sun.rmi.activation.execPolicy
78 プロパティの値は、起動グループの JVM の起動に
79 .B ActivationGroupDesc
80 内の情報を使用できるかどうかの判断に
81 .B rmid
82 が使用するポリシーを定義します。
83 .LP
84 .B rmid
85 をデフォルト設定で実行することにより、以下が行われます。
86 .LP
87 .RS
88 .TP 2
89 \(bu
90 このコマンドはアクティベータを起動するとともにデフォルトポートの
91 .BR 1098
92 で内部レジストリを
93 開始し、
94 .LP
95 .PD 0
96 .TP
97 \(bu
98 .B ActivationSystem
99
100 .B java.rmi.activation.ActivationSystem
101 という名前に内部レジストリ上でバインドします。
102
103 .LP
104 .RE
105 レジストリにほかのポートを指定するには、
106 .BR rmid
107 の起動時に
108 .B -port
109 オプションを指定しなければなりません。たとえば、次のようにします。
110
111 .ti +5n
112 .LP
113 .B rmid \-J\-Djava.security.policy=rmid.policy \-port 1099
114
115 .LP
116 このコマンドは、起動システムデーモンを開始し、レジストリのデフォルトポート
117 .B 1099
118 でレジストリを開始します。
119
120 .LP
121 .SS inetd/xinetd からの rmid の起動
122
123 コマンド行から
124 .B rmid
125 を起動しないで、
126 inetd (Solaris) または xinetd (Linux) を設定し、
127 .B rmid
128 を必要に応じて起動することができます。
129
130 .LP
131 起動時に
132 .B rmid
133 は、System.inheritedChannel メソッドを呼び出して
134 継承チャネル (inetd/xinetd からの継承) の
135 取得を試みます。
136 継承されたチャンネルが \f2null\fP であるか、\f2java.nio.channels.ServerSocketChannel\fP のインスタンスでなかった場合、\f2rmid\fP はそのチャンネルは \f2inetd\fP/\f2xinetd\fP によって起動されたものではないと判断し、前述のように起動します。
137
138 .LP
139 .LP
140 継承チャンネルが ServerSocketChannel
141 インスタンスの場合、
142 .B rmid
143 は ServerSocketChannel から
144 取得した java.net.ServerSocket を、
145 エクスポートするリモートオブジェクト
146 (java.rmi.activation.ActivationSystem が
147 バインドされるレジストリと
148 java.rmi.activation.Activator
149 リモートオブジェクト) に対する要求を
150 受け入れるサーバソケットとして使用します。
151 .LP
152 このモードでは、
153 .B rmid
154 の動作は、次のことを除いて、
155 コマンド行から起動した場合と同じです。
156
157 .TP 2
158 \(bu System.err に表示される出力はファイルにリダイレクト
159 されます。このファイルは、接頭辞「rmid-err」と接尾辞「tmp」を
160 使用して java.io.tmpdir システムプロパティ
161 (通常 /var/tmp または /tmp) で指定したディレクトリにあります。
162
163 .TP 2
164 \(bu \-port オプションは許可されていません。このオプションが
165 指定されている場合、
166 .B rmid
167 はエラーメッセージを表示して
168 終了します。
169
170 .TP 2
171 \(bu \-log オプションは必須です。このオプションが
172 指定されていない場合、
173 .B rmid
174 はエラーメッセージを表示して
175 終了します。
176
177 .LP
178 必要に応じて開始するサービスの設定方法についての詳細は、
179 inetd (Solaris) または xinetd (Linux) のマニュアルページを
180 参照してください。
181
182 .SH "オプション"
183
184 .TP
185 .BI \-C someCommandLineOption
186 .B rmid
187 の子プロセス (起動グループ) が作成されたときに、各子プロセスにコマンド行引数
188 として渡されるオプションを指定します。たとえば、次のように指定すると、起動システム
189 デーモンによって生成される各 Java Virtual Machine にプロパティを渡すことができます。
190
191 .sp 1n
192 .ti +5n
193 .B rmid \-C\-Dsome.property=value
194
195 .sp 1n
196 コマンド行引数を子プロセスに渡す機能は、デバッグを行う際に便利です。
197 たとえば、次のようなコマンドを実行できます。
198
199 .sp 1n
200 .ti +5n
201 .B rmid \-C\-Djava.rmi.server.logCalls=true
202
203 .sp 1n
204 このコマンドによって、すべての子 JVM でサーバ呼び出しのログが残るようになります。
205
206 .TP
207 .BI \-J<someCommandLineOption>
208 .B rmid
209 を実行中の java インタプリタに渡すオプションを指定します。たとえば、
210 .B rmid
211
212 .BR rmid.policy
213 という名前のポリシーファイルを使用する場合、
214 .BR rmid
215 のコマンド行で
216 .B \-J
217 オプションを使って
218 .B java.security.policy
219 プロパティを定義します。次に例を示します。
220
221 .sp 1n
222 .ti +5n
223 .B rmid \-J\-Djava.security.policy=rmid.policy
224
225 .TP
226 .BI \-J\-Dsun.rmi.activation.execPolicy=<policy>
227 起動グループの実行対象となる JVM の起動に使用するコマンドおよびコマンド行オプションを検査するために、
228 .B rmid
229 が採用するポリシーを指定します。このオプションは、Sun の RMI 起動デーモン実装だけに存在することに注意してください。コマンド行にこのプロパティを指定しない場合、結果は
230 .B \-J-Dsun.rmi.activation.execPolicy=default
231 を指定した場合と同じになります。
232 .IR policy
233 に指定可能な値は、
234 .BR default
235
236 .IR policyClassName
237 、または none です。
238 .BR
239
240 .RS
241 .TP 2
242 \(bu
243 .B default
244 (または、このプロパティを指定しない場合)
245
246 .LP
247 デフォルトの
248 .B execPolicy
249 では、使用するセキュリティポリシーファイル内のコマンドおよびオプションを実行する権限が
250 .B rmid
251 に与えられる場合にのみ、
252 .B rmid
253 は特定のコマンド行オプションを指定してコマンドを実行できます。
254 .BR default
255 の実行ポリシーを使用できるのは、
256 デフォルトの起動グループ実装だけです。
257 .sp 1n
258
259 .B rmid
260 は、起動グループの JVM を起動する際、その登録された起動グループ記述子である
261 .BR ActivationGroupDesc
262 内の情報を使用します。グループ記述子では、オプションの
263 .B ActivationGroupDesc.CommandEnvironment
264 を指定します。これには、起動グループを開始する「コマンド」、およびコマンド行に追加する
265 任意のコマンド行「オプション」が含まれます。デフォルトでは、
266 .B rmid
267
268 .BR java.home
269 にある
270 .B java
271 コマンドを使用します。グループ記述子には、次に示すように、オプションとしてコマンド行に
272 追加される「プロパティ」オーバーライドも含まれます。
273
274 .sp 1n
275 .ti +5n
276 .BI \-D<property>=<value>
277
278 .sp 1n
279 アクセス権
280 .B com.sun.rmi.rmid.ExecPermission
281 を使用すると、
282 .B rmid
283 に対し、グループ記述子の
284 .B CommandEnvironment
285 で指定されたコマンドを実行して起動グループを開始する権限を与えることができます。
286 アクセス権
287 .B com.sun.rmi.rmid.ExecOptionPermission
288 を使用すると、起動グループを開始するときに、
289 グループ記述子でプロパティオーバーライドとして指定されたコマンド行
290 オプション、または
291 .BR CommandEnvironment
292 でオプションとして指定されたコマンド行オプションを
293 .B rmid
294 から使用できます。
295
296 .sp 1n
297 .B rmid
298 にさまざまなコマンドおよびオプションを実行する権限を与える場合、アクセス権
299 .B ExecPermission
300 および
301 .B ExecOptionPermission
302 を普遍的に (つまり、すべてのコードソースに対して) 許可する必要があります。
303
304 .TP
305 .BI ExecPermission
306 .B ExecPermission
307 クラスは、起動グループを開始するために
308 .B rmid
309 が特定の「コマンド」を実行する権限を表します。
310 .sp 1n
311 .TP
312 .B 構文
313 .br
314 .B ExecPermission
315 の「名前」は、
316 .B rmid
317 に実行権限を与えるコマンドのパス名です。「/*」(「/」はファイル区切り文字、つまり
318 .BR File.separatorChar
319 ) で終わるパス名は、そのディレクトリに含まれるすべてのファイルを表します。「/-」
320 で終わるパス名は、そのディレクトリに含まれるすべてのファイルとサブディレクトリ
321 (再帰的に) を表します。パス名に特別なトークン「<<ALL FILES>>」を指定した場合は、
322 任意のファイルに一致します。
323 .sp 1n
324
325 .B 注:
326 「*」が 1 つだけ指定されたパス名は、現在のディレクトリ内のすべてのファイルを表し、
327 「-」が 1 つだけ指定されたパス名は、現在のディレクトリ内のすべてのファイルと、
328 現在のディレクトリに含まれるすべてのファイルとサブディレクトリ (再帰的に) を表します。
329
330 .TP
331 .BI ExecOptionPermission
332 .B ExecOptionPermission
333 クラスは、起動グループの開始時に
334 .B rmid
335 が特定のコマンド行「オプション」を使用する権限を表します。
336 .B ExecOptionPermission
337 の「名前」は、コマンド行オプションの値です。
338 .sp 1n
339 .TP
340 .B 構文
341 .br
342 オプションでは、制限付きワイルドカード指定がサポートされます。
343 アスタリスクは、ワイルドカードマッチングを指定します。アスタリスクは、
344 オプション名自体を表す (つまり、すべてのオプションに一致する) ために
345 使用できます。また、「.」および「=」の次に指定する場合にのみ、
346 オプション名の最後にアスタリスクを使用できます。
347 .sp 1n
348
349 例を示します。「*」、「-Dfoo.*」、「-Da.b.c=*」は有効です。「*foo」、「-Da*b」
350 、「ab*」は無効です。
351
352 .TP
353 .BI rmid のポリシーファイル
354 .B rmid
355 にさまざまなコマンドおよびオプションを実行する権限を与える場合は、アクセス権
356 .B ExecPermission
357 および
358 .B ExecOptionPermission
359 を普遍的に (つまり、すべてのコードソースに対して) 許可する必要があります。
360 これらのアクセス権を検査するのは
361 .B rmid
362 だけであるため、普遍的に許可しても安全です。
363
364 .sp 1n
365 .B rmid
366 にさまざまな実行権限を許可するポリシーファイルの例を、次に示します。
367
368 .sp 1n
369 .ft 3
370 .nf
371 grant {
372 permission com.sun.rmi.rmid.ExecPermission
373 "/files/apps/java/jdk1.2.2/solaris/bin/java";
374
375 permission com.sun.rmi.rmid.ExecPermission
376 "/files/apps/java/jdk1.2.2/solaris/bin/java_g";
377
378 permission com.sun.rmi.rmid.ExecPermission
379 "/files/apps/rmidcmds/*";
380
381 permission com.sun.rmi.rmid.ExecOptionPermission
382 "-Djava.security.policy=/files/policies/group.policy";
383
384 permission com.sun.rmi.rmid.ExecOptionPermission
385 "-Djava.security.debug=*";
386
387 permission com.sun.rmi.rmid.ExecOptionPermission
388 "-Dsun.rmi.*";
389 };
390
391 .fi
392 .ft 1
393
394 .sp 1n
395 最初の 2 つのアクセス権は、
396 .B rmid
397 に対し、パス名により明示された 1.2.2 バージョンの
398 .B java
399 コマンドを実行する許可を与えます。デフォルトでは、
400 .B java.home
401 にある
402 .B java
403 コマンドのバージョン (
404 .B rmid
405 が使用するのと同じもの) が使用されるため、ポリシーファイルで指定する必要はありません。
406 3 番目のアクセス権は、
407 .B rmid
408 に対し、ディレクトリ
409 .BR /files/apps/rmidcmds
410 内の任意のコマンドを実行する権限を与えます。
411
412 .sp 1n
413 4 番目に許可されたアクセス権
414 .BR ExecOptionPermission
415 は、
416 .B rmid
417 に対し、セキュリティポリシーファイルを
418 .BR /files/policies/group.policy
419 に定義する起動グループを開始する権限を与えます。次のアクセス権は、起動グループが
420 .B java.security.debug
421 プロパティを使用する権限を与えます。最後のアクセス権は、
422 起動グループが
423 .B sun.rmi
424 プロパティ名階層内の任意のプロパティを使用する権限を与えます。
425
426 .sp 1n
427 ポリシーファイルを使って
428 .B rmid
429 を起動するには、
430 .BR rmid
431 のコマンド行で
432 .B java.security.policy
433 プロパティを指定する必要があります。次に例を示します。
434
435 .sp 1n
436 .ti +5n
437 .B rmid \-J\-Djava.security.policy=rmid.policy
438
439 .TP 2
440 \(bu
441 .I <policyClassName>
442
443 .sp 1n
444 デフォルトの動作では十分な柔軟性が得られない場合、管理者は
445 .BR rmid
446 の起動時に、
447 .B checkExecCommand
448 メソッドが実行されるクラスの名前を指定することにより、
449 .BR rmid
450 が実行するコマンドを検査できます。
451 .sp 1n
452
453 .IR policyClassName
454 には、public で引数を必要としないコンストラクタとともに public クラスを指定します。また、次の
455 .B checkExecCommand
456 メソッド実装も指定します。
457
458 .sp 1n
459 .ft 3
460 .nf
461 .in +5n
462 public void checkExecCommand(ActivationGroupDesc desc,
463 String[] command)
464 throws SecurityException;
465 .in
466 .fi
467 .ft 1
468
469 .sp 1n
470 起動グループを開始する前に、
471 .B rmid
472 は、ポリシーの
473 .BR checkExecCommand
474 メソッドを呼び出して、起動グループの記述子および起動グループを開始する完全な
475 コマンドを含む配列を渡します。
476 .B checkExecCommand
477
478 .BR SecurityException
479 をスローする場合、
480 .B rmid
481 は起動グループを開始せず、オブジェクトの起動を試みている呼び出し側に
482 .B ActivationException
483 がスローされます。
484
485 .TP
486 \(bu
487 .B none
488
489 .sp 1n
490 .B sun.rmi.activation.execPolicy
491 プロパティの値が「none」の場合、
492 .B rmid
493 は、起動グループの開始コマンドの検証を一切行いません。
494
495 .TP
496
497 .BI \-log " dir"
498 起動システムデーモンがデータベースおよび関連情報を書き込むのに使う、
499 ディレクトリの名前を指定します。デフォルトでは、
500 .B rmid
501 コマンドを実行したディレクトリに
502 .B log
503 というログディレクトリが作成されます。
504
505 .TP
506 .BI \-port " port"
507 .BR rmid
508 のレジストリが使うポートを指定します。起動システムデーモンは、
509 .BR java.rmi.activation.ActivationSystem
510 という名前で
511 .BR ActivationSystem
512 をレジストリにバインドします。したがって、ローカルマシンの
513 .B ActivationSystem
514 は、次のように
515 .B Naming.lookup
516 メソッドを呼び出すことによって取得できます。
517
518 .LP
519 .RS
520 .ft 3
521 .nf
522 import java.rmi.*;
523 import java.rmi.activation.*;
524
525 ActivationSystem system;
526 system = (ActivationSystem)
527 Naming.lookup("//:port/java.rmi.activation.ActivationSystem");
528 .fl
529 .fi
530
531 .RE
532 .TP
533 .BI \-stop
534 .B -port
535 オプションによって指定されたポートの、現在の
536 .B rmid
537 の呼び出しを停止します。ポートの指定がない場合は、ポート 1098 で実行されている
538 .B rmid
539 を停止します。
540 .SH "環境変数"
541 .TP 20
542 .SB "CLASSPATH"
543 ユーザ定義クラスへのパスをシステムに通知するために使用します。ディレクトリはコロンで
544 区切ります。以下に例を示します。
545 .RS
546 .LP
547 .ft 3
548
549 .nf
550 % .:/usr/local/java/classes
551
552 .fi
553 .ft 1
554 .RE
555 .SH "関連項目"
556 .LP
557
558 .LP
559 .LP
560 rmic、CLASSPATH、java
561 .LP
562
563 .LP
564