rmid.1 revision 0
t

Copyright 2000-2006 Sun Microsystems, Inc. All Rights Reserved.
DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.

This code is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License version 2 only, as
published by the Free Software Foundation.

This code is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
version 2 for more details (a copy is included in the LICENSE file that
accompanied this code).

You should have received a copy of the GNU General Public License version
2 along with this work; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.

Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
CA 95054 USA or visit www.sun.com if you need additional information or
have any questions.


rmid 1 "2006 ǯ 9 �� 4 ��" "Java SE 6" "�桼�������ޥ��"
"̾��"
rmid - RMI ��ư�����ƥ�ǡ����

\f3rmid �ǵ�ư�����ƥ�ǡ����򳫻Ϥ���ȡ����֥������Ȥ��ۥޥ��� (VM) ����Ͽ���Ƶ�ư�Ǥ���褦�ˤʤ�ޤ���

"����"
rmid [ options ]
"��ǽ����"
"RMI activation system daemon" "" "RMI activation system daemon \(em \fLrmid" "rmid" "" "\fLrmid \(em RMI activation system daemon" rmid �ġ���ϡ���ư�����ƥ�ǡ����򳫻Ϥ��ޤ�����ư��ǽ�ʥ��֥������Ȥ�ư �����ƥ����Ͽ�����ꡢJava VM �ǥ����ƥ��֤ˤ����ꤹ��ˤϡ����餫���ᵯư �����ƥ�ǡ����򳫻Ϥ��Ƥ���ɬ�פ�����ޤ��� ��ư��ǽ�ʥ�⡼�ȥ��֥������� ��Ȥä��ץ?���κ�����ˡ�ˤĤ��Ƥξܺ٤ϡ�Java RMI �λ��� (http://java.sun.com/javase/6/docs/platform/rmi/spec/rmitoc.html) ����ӵ�ư�Υ��塼�ȥꥢ�� (http://java.sun.com/javase/6/docs/technotes/guides/rmi/activation/overview.html) �򻲾Ȥ��Ƥ���������

��ư�����ƥ�ǡ����ϡ����Τ褦�˥������ƥ��ݥꥷ���ե��������ꤷ�� rmid ���ޥ�ɤ�¹Ԥ��뤳�Ȥˤ�äƳ��ϤǤ��ޤ���

% rmid -J-Djava.security.policy=rmid.policy

��: Sun �� rmid ������¹Ԥ����硢�ǥե���ȤǤϥ������ƥ��ݥꥷ���ե��������ꤹ��ɬ�פ�����ޤ����������뤳�Ȥǡ���ư���롼���Ѥ� JVM �ε�ư�ˡ��� ActivationGroupDesc ��ξ������ѤǤ��뤫�ɤ����� rmid ����ǧ�Ǥ��ޤ����äˡ� CommandEnvironment �ˤ����ꤵ��륳�ޥ�ɤ䥪�ץ���󡢤���� ActivationGroupDesc �Υ��󥹥ȥ饯�����Ϥ���뤹�٤Ƥ� �ץ�ѥƥ� �ϡ� rmid �ѤΥ������ƥ��ݥꥷ���ե����������Ū�˵��Ĥ��뤳�Ȥ�ɬ�פˤʤ�ޤ����� sun.rmi.activation.execPolicy �ץ�ѥƥ����ͤϡ���ư���롼�פ� JVM �ε�ư�� ActivationGroupDesc ��ξ������ѤǤ��뤫�ɤ�����Ƚ�Ǥ� rmid �����Ѥ���ݥꥷ����������ޤ���

rmid ��ǥե��������Ǽ¹Ԥ��뤳�Ȥˤ�ꡢ�ʲ����Ԥ��ޤ���

2 ���Υ��ޥ�ɤϥ����ƥ��١�����ư����ȤȤ�˥ǥե���ȥݡ��Ȥ� 1098 �������쥸���ȥ�� ���Ϥ���

0

ActivationSystem �� java.rmi.activation.ActivationSystem �Ȥ���̾���������쥸���ȥ��ǥХ���ɤ��ޤ���

�쥸���ȥ�ˤۤ��Υݡ��Ȥ���ꤹ��ˤϡ� rmid �ε�ư���� -port ���ץ�������ꤷ�ʤ���Фʤ�ޤ��󡣤��Ȥ��С����Τ褦�ˤ��ޤ���

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

���Υ��ޥ�ɤϡ���ư�����ƥ�ǡ����򳫻Ϥ����쥸���ȥ�Υǥե���ȥݡ��� 1099 �ǥ쥸���ȥ�򳫻Ϥ��ޤ���

inetd/xinetd ����� rmid �ε�ư
���ޥ�ɹԤ��� rmid ��ư���ʤ��ǡ� inetd (Solaris) �ޤ��� xinetd (Linux) �����ꤷ�� rmid ��ɬ�פ˱����Ƶ�ư���뤳�Ȥ��Ǥ��ޤ���

��ư���� rmid �ϡ�System.inheritedChannel �᥽�åɤ�ƤӽФ��� �Ѿ�����ͥ� (inetd/xinetd ����ηѾ�) �� �������ߤޤ��� �Ѿ����줿�����ͥ뤬 \f2null �Ǥ��뤫��\f2java.nio.channels.ServerSocketChannel �Υ��󥹥��󥹤Ǥʤ��ä���硢\f2rmid �Ϥ��Υ����ͥ�� \f2inetd/\f2xinetd �ˤ�äƵ�ư���줿��ΤǤϤʤ���Ƚ�Ǥ������ҤΤ褦�˵�ư���ޤ���

�Ѿ������ͥ뤬 ServerSocketChannel ���󥹥��󥹤ξ�硢 rmid �� ServerSocketChannel ���� �������� java.net.ServerSocket �� �������ݡ��Ȥ����⡼�ȥ��֥������� (java.rmi.activation.ActivationSystem �� �Х���ɤ����쥸���ȥ�� java.rmi.activation.Activator ��⡼�ȥ��֥�������) ���Ф����׵�� ��������륵���Х����åȤȤ��ƻ��Ѥ��ޤ���

���Υ⡼�ɤǤϡ� rmid ��ư��ϡ����Τ��Ȥ��ơ� ���ޥ�ɹԤ��鵯ư��������Ʊ���Ǥ���

2 \(bu System.err ��ɽ���������Ϥϥե�����˥�����쥯�� ����ޤ������Υե�����ϡ���Ƭ����rmid-err�פ������tmp�פ� ���Ѥ��� java.io.tmpdir �����ƥ�ץ�ѥƥ� (�̾� /var/tmp �ޤ��� /tmp) �ǻ��ꤷ���ǥ��쥯�ȥ�ˤ���ޤ���

2 \(bu -port ���ץ����ϵ��Ĥ���Ƥ��ޤ��󡣤��Υ��ץ���� ���ꤵ��Ƥ����硢 rmid �ϥ��顼��å�������ɽ������ ��λ���ޤ���

2 \(bu -log ���ץ�����ɬ�ܤǤ������Υ��ץ���� ���ꤵ��Ƥ��ʤ���硢 rmid �ϥ��顼��å�������ɽ������ ��λ���ޤ���

ɬ�פ˱����Ƴ��Ϥ��륵���ӥ���������ˡ�ˤĤ��Ƥξܺ٤ϡ� inetd (Solaris) �ޤ��� xinetd (Linux) �Υޥ˥奢��ڡ����� ���Ȥ��Ƥ���������

"���ץ����"

-C someCommandLineOption rmid �λҥץ?�� (��ư���롼��) ���������줿�Ȥ��ˡ��ƻҥץ?���˥��ޥ�ɹ԰�� �Ȥ����Ϥ���륪�ץ�������ꤷ�ޤ������Ȥ��С����Τ褦�˻��ꤹ��ȡ���ư�����ƥ� �ǡ����ˤ�ä����������� Java Virtual Machine �˥ץ�ѥƥ����Ϥ����Ȥ��Ǥ��ޤ��� rmid -C-Dsome.property=value ���ޥ�ɹ԰����ҥץ?�����Ϥ���ǽ�ϡ��ǥХå���Ԥ��ݤ�����Ǥ��� ���Ȥ��С����Τ褦�ʥ��ޥ�ɤ�¹ԤǤ��ޤ��� rmid -C-Djava.rmi.server.logCalls=true ���Υ��ޥ�ɤˤ�äơ����٤Ƥλ� JVM �ǥ����иƤӽФ��Υ?���Ĥ�褦�ˤʤ�ޤ���

-J<someCommandLineOption> rmid ��¹���� java ���󥿥ץ꥿���Ϥ����ץ�������ꤷ�ޤ������Ȥ��С� rmid �� rmid.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 �˻����ǽ���ͤϡ� default �� policyClassName ���ޤ��� none �Ǥ���

2 default (�ޤ��ϡ����Υץ�ѥƥ�����ꤷ�ʤ����)

�ǥե���Ȥ� execPolicy �Ǥϡ����Ѥ��륻�����ƥ��ݥꥷ���ե�������Υ��ޥ�ɤ���ӥ��ץ�����¹Ԥ��븢�¤� rmid ��Ϳ��������ˤΤߡ� rmid ������Υ��ޥ�ɹԥ��ץ�������ꤷ�ƥ��ޥ�ɤ�¹ԤǤ��ޤ��� default �μ¹ԥݥꥷ������ѤǤ���Τϡ� �ǥե���Ȥε�ư���롼�׼��������Ǥ��� rmid �ϡ���ư���롼�פ� JVM ��ư����ݡ�������Ͽ���줿��ư���롼�׵��һҤǤ��� ActivationGroupDesc ��ξ������Ѥ��ޤ������롼�׵��һҤǤϡ����ץ����� ActivationGroupDesc.CommandEnvironment ����ꤷ�ޤ�������ˤϡ���ư���롼�פ򳫻Ϥ���֥��ޥ�ɡס�����ӥ��ޥ�ɹԤ��ɲä��� Ǥ�դΥ��ޥ�ɹԡ֥��ץ����פ��ޤޤ�ޤ����ǥե���ȤǤϡ� rmid �� java.home �ˤ��� java ���ޥ�ɤ���Ѥ��ޤ������롼�׵��һҤˤϡ����˼����褦�ˡ����ץ����Ȥ��ƥ��ޥ�ɹԤ� �ɲä����֥ץ�ѥƥ��ץ����С��饤�ɤ�ޤޤ�ޤ��� -D<property>=<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/solaris/bin/java";

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

 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.*";
};

�ǽ�� 2 �ĤΥ����������ϡ� 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

2 <policyClassName> �ǥե���Ȥ�ư��ǤϽ�ʬ�ʽ������������ʤ���硢����Ԥ� rmid �ε�ư���ˡ� checkExecCommand �᥽�åɤ��¹Ԥ���륯�饹��̾������ꤹ�뤳�Ȥˤ�ꡢ rmid ���¹Ԥ��륳�ޥ�ɤ򸡺��Ǥ��ޤ��� policyClassName �ˤϡ�public �ǰ����ɬ�פȤ��ʤ����󥹥ȥ饯���ȤȤ�� public ���饹����ꤷ�ޤ����ޤ������� checkExecCommand �᥽�åɼ�������ꤷ�ޤ���

public void checkExecCommand(ActivationGroupDesc desc,
 String[] command)
 throws SecurityException;
��ư���롼�פ򳫻Ϥ������ˡ� rmid �ϡ��ݥꥷ���� checkExecCommand �᥽�åɤ�ƤӽФ��ơ���ư���롼�פε��һҤ���ӵ�ư���롼�פ򳫻Ϥ��봰���� ���ޥ�ɤ�ޤ�������Ϥ��ޤ��� checkExecCommand �� SecurityException �򥹥?�����硢 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");
.fl

-stop -port ���ץ����ˤ�äƻ��ꤵ�줿�ݡ��ȤΡ����ߤ� rmid �θƤӽФ�����ߤ��ޤ����ݡ��Ȥλ��꤬�ʤ����ϡ��ݡ��� 1098 �Ǽ¹Ԥ���Ƥ��� rmid ����ߤ��ޤ���

"�Ķ��ѿ�"

20 "CLASSPATH" �桼��������饹�ؤΥѥ��򥷥��ƥ�����Τ��뤿��˻��Ѥ��ޤ����ǥ��쥯�ȥ�ϥ����� ���ڤ�ޤ����ʲ�����򼨤��ޤ���

"��Ϣ����"

rmic��CLASSPATH��java