rmid(1) Remote Method Invocation (RMI) rmid(1) rmid - Java Virtual Machine(VM) rmid [options] options rmidJVM(http://docs.oracle.com/javase/8/docs/technotes/guides/rmi/activation/overview.html) rmid rmid -J-Djava.security.policy=rmid.policy rmidOraclermidJVMActivationGroupDescActivationGroupDescCommandEnvironmentrmidsun.rmi.activation.execPolicyJVMActivationGroupDescrmid-J-Dsun.rmi.activation.execPolicy=policy rmid1098ActivationSystemjava.rmi.activation.ActivationSystem rmid-port1099 rmid -J-Djava.security.policy=rmid.policy -port 1099 RMID rmidinetd(Oracle Solaris)xinetd(Linux)rmid RMIDSystem.inheritedChannel(inetd/xinetd)nulljava.nio.channels.ServerSocketChannelRMIDinetd/xinetd ServerSocketChannelRMIDjava.rmi.activation.ActivationSystemjava.rmi.activation.ActivatorServerSocketChanneljava.net.ServerSocketRMID o System.errjava.io.tmpdir(/var/tmp/tmp)rmid-errtmp o -portRMID o -logRMID inetd (Oracle Solaris)xinetd (Linux) -C rmid() rmid -C-Dsome.property=value JVMserver-call rmid -C-Djava.rmi.server.logCalls=true -Joption RMIDJavarmidrmid.policyrmid-Jjava.security.policy rmid -J-Djava.security.policy-rmid.policy -J-Dsun.rmi.activation.execPolicy=policy JVMRMIDJava RMIOracle-J-Dsun.rmi.activation.execPolicy=defaultpolicydefaultpolicyClassNamenone o defaultexecPolicyrmidrmidrmid rmidJVMActivationGroupDescActivationGroupDesc.CommandEnvironment()rmidjava.homejava(-D=)com.sun.rmi.rmid.ExecPermissionrmidCommandEnvironmentcom.sun.rmi.rmid.ExecOptionPermissionCommandEnvironmentrmidrmidExecPermissionExecOptionPermission ExecPermission ExecPermissionrmid : ExecPermissionrmid(/)(*)File.separatorChar(/)(-)()<> (*)(-)() ExecOptionPermission ExecOptionPermissionrmidExecOptionPermission : (*)(.)(=)(*) : *-Dmydir.*-Da.b.c=**mydir-Da*bab* rmid rmidExecPermissionExecOptionPermission()rmid rmid grant { permission com.sun.rmi.rmid.ExecPermission "/files/apps/java/jdk1.7.0/solaris/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.*"; }; rmidjava1.7.0java.homejavarmid2rmid/files/apps/rmidcmds 3ExecOptionPermissionrmid/files/policies/group.policyjava.security.debug propertysun.rmi property rmidrmidjava.security.policy rmid -J-Djava.security.policy=rmid.policy. o rmidcheckExecCommandrmid policyClassNamecheckExecCommandpublic public void checkExecCommand(ActivationGroupDesc desc, String[] command) throws SecurityException; rmidcheckExecCommandcheckExecCommandSecurityExceptionrmidActivationException o none sun.rmi.activation.execPolicynonermid -log dir rmidlog -port port java.rmi.activation.ActivationSystemActivationSystemActivationSystemNaming.lookup import java.rmi.*; import java.rmi.activation.*; ActivationSystem system; system = (ActivationSystem) Naming.lookup("//:port/java.rmi.activation.ActivationSystem"); -stop -portrmid1098rmid CLASSPATH : .:/usr/local/java/classes o java(1) o JDK 8 20131121 rmid(1)