rmid(1) Remote Method Invocation (RMI) rmid(1)

̾Á°

rmid - µ¯Æ°¥·¥¹¥Æ¥à¡¦¥Ç¡¼¥â¥ó¤ò³«»Ï¤¹¤ë¤È¡¢¥ª¥Ö¥¸¥§¥¯¥È¤òJava Virtual Machine(VM)¤ËÅÐÏ¿¤·¤Æ¥¢¥¯¥Æ¥£¥Ö²½¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£

³µÍ×

rmid [options]

options

¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó¡£¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£

ÀâÌÀ

rmid¥³¥Þ¥ó¥É¤Ï¡¢µ¯Æ°¥·¥¹¥Æ¥à¡¦¥Ç¡¼¥â¥ó¤ò³«»Ï¤·¤Þ¤¹¡£µ¯Æ°¥·¥¹¥Æ¥à¡¦¥Ç¡¼¥â¥ó¤ò³«»Ï¤·¤Æ¤«¤é¤Ç¤Ê¤¤¤È¡¢¥¢¥¯¥Æ¥£¥Ö²½²Äǽ¥ª¥Ö¥¸¥§¥¯¥È¤ò¥¢¥¯¥Æ¥£¥Ö²½¥·¥¹¥Æ¥à¤ËÅÐÏ¿¤·¤¿¤ê¡¢JVMÆâ¤Ç¥¢¥¯¥Æ¥£¥Ö²½¤·¤¿¤ê¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤»¤ó¡£¥¢¥¯¥Æ¥£¥Ö²½²Äǽ¤Ê¥ª¥Ö¥¸¥§¥¯¥È¤ò»ÈÍѤ¹¤ë¥×¥í¥°¥é¥à¤ÎºîÀ®ÊýË¡¤Î¾ÜºÙ¤Ï¡¢¥¢¥¯¥Æ¥£¥Ö²½¤Î»ÈÍѤ˴ؤ¹¤ë¥Á¥å¡¼¥È¥ê¥¢¥ë(http://docs.oracle.com/javase/8/docs/technotes/guides/rmi/activation/overview.html)¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤

rmid¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¡¢¼¡¤Î¤è¤¦¤Ë¥»¥­¥å¥ê¥Æ¥£¡¦¥Ý¥ê¥·¡¼¡¦¥Õ¥¡¥¤¥ë¤ò»ØÄꤷ¤Æ¡¢¥Ç¡¼¥â¥ó¤òµ¯Æ°¤·¤Þ¤¹¡£

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

rmid¥³¥Þ¥ó¥É¤ÎOracle¤Î¼ÂÁõ¤ò¼Â¹Ô¤¹¤ë¾ì¹ç¡¢¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¥»¥­¥å¥ê¥Æ¥£¡¦¥Ý¥ê¥·¡¼¡¦¥Õ¥¡¥¤¥ë¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤½¤ì¤Ï¡¢rmid¥³¥Þ¥ó¥É¤¬µ¯Æ°¥°¥ë¡¼¥×ÍѤËJVM¤òµ¯Æ°¤¹¤ë¤¿¤á¤Ë³ÆActivationGroupDescÆâ¤Î¾ðÊó¤ò»ÈÍѤǤ­¤ë¤«¤É¤¦¤«¤ò¸¡¾Ú¤Ç¤­¤ë¤è¤¦¤Ë¤¹¤ë¤¿¤á¤Ç¤¹Æäˡ¢ActivationGroupDesc¥³¥ó¥¹¥È¥é¥¯¥¿¤ËÅϤµ¤ì¤ëCommandEnvironment¤äǤ°Õ¤Î¥×¥í¥Ñ¥Æ¥£¤Ë¤è¤Ã¤Æ»ØÄꤵ¤ì¤ë¥³¥Þ¥ó¥É¤ª¤è¤Ó¥ª¥×¥·¥ç¥ó¤Ï¡¢rmid¥³¥Þ¥ó¥É¤Î¥»¥­¥å¥ê¥Æ¥£¡¦¥Ý¥ê¥·¡¼¡¦¥Õ¥¡¥¤¥ë¤ÎÃæ¤ÇÌÀ¼¨Åª¤Ëµö²Ä¤¹¤ë¤³¤È¤¬É¬Íפˤʤê¤Þ¤·¤¿¡£sun.rmi.activation.execPolicy¥×¥í¥Ñ¥Æ¥£¤ÎÃͤϡ¢µ¯Æ°¥°¥ë¡¼¥×ÍѤËJVM¤òµ¯Æ°¤¹¤ë¤¿¤á¤ËActivationGroupDescÆâ¤Î¾ðÊó¤ò»ÈÍѤǤ­¤ë¤«¤É¤¦¤«¤òȽÃǤ¹¤ë¤È¤­¤Ërmid¥³¥Þ¥ó¥É¤¬»ÈÍѤ¹¤ë¥Ý¥ê¥·¡¼¤ò·èÄꤷ¤Þ¤¹¡£¾ÜºÙ¤Ï¡¢-J-Dsun.rmi.activation.execPolicy=policy¥ª¥×¥·¥ç¥ó¤ÎÀâÌÀ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£

rmid¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¤È¡¢¥Ç¥Õ¥©¥ë¥È¡¦¥Ý¡¼¥È1098¤Ç¥¢¥¯¥Æ¥£¥Ù¡¼¥¿¤ÈÆâÉô¥ì¥¸¥¹¥È¥ê¤¬µ¯Æ°¤µ¤ì¡¢ActivationSystem¤¬¤³¤ÎÆâÉô¥ì¥¸¥¹¥È¥êÆâ¤Î̾Á°java.rmi.activation.ActivationSystem¤Ë¥Ð¥¤¥ó¥É¤µ¤ì¤Þ¤¹¡£

¥ì¥¸¥¹¥È¥ê¤Ë¾¤Î¥Ý¡¼¥È¤ò»ØÄꤹ¤ë¤Ë¤Ï¡¢rmid¥³¥Þ¥ó¥É¤Î¼Â¹Ô»þ¤Ë-port¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¥³¥Þ¥ó¥É¤Ï¡¢¥ì¥¸¥¹¥È¥ê¤Î¥Ç¥Õ¥©¥ë¥È¡¦¥Ý¡¼¥È1099¤Ç¡¢µ¯Æ°¥·¥¹¥Æ¥à¡¦¥Ç¡¼¥â¥ó¤È¥ì¥¸¥¹¥È¥ê¤òµ¯Æ°¤·¤Þ¤¹¡£

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

ɬÍפ˱þ¤¸¤ÆRMID¤ò³«»Ï

rmid¤ò¥³¥Þ¥ó¥É¹Ô¤«¤é³«»Ï¤¹¤ë¤Ë¤Ï¡¢inetd(Oracle Solaris¤Î¾ì¹ç)¡¢¤Þ¤¿¤Ïxinetd(Linux¤Î¾ì¹ç)¤ò¹½À®¤·¤Ærmid¤òɬÍפ˱þ¤¸¤Æ³«»Ï¤¹¤ëÊýË¡¤â¤¢¤ê¤Þ¤¹¡£

RMID¤ò³«»Ï¤¹¤ë¤È¡¢System.inheritedChannel¥á¥½¥Ã¥É¤ò¸Æ¤Ó½Ð¤·¤Æ¡¢·Ñ¾µ¤µ¤ì¤¿¥Á¥ã¥ó¥Í¥ë(inetd/xinetd¤«¤é·Ñ¾µ)¤ò¼èÆÀ¤·¤è¤¦¤È¤·¤Þ¤¹¡£·Ñ¾µ¤µ¤ì¤¿¥Á¥ã¥ó¥Í¥ë¤¬null¤Ç¤¢¤ë¤«¡¢java.nio.channels.ServerSocketChannel¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤Ç¤Ê¤«¤Ã¤¿¾ì¹ç¡¢RMID¤Ï¤½¤Î¥Á¥ã¥ó¥Í¥ë¤Ïinetd/xinetd¤Ë¤è¤Ã¤Æµ¯Æ°¤µ¤ì¤¿¤â¤Î¤Ç¤Ï¤Ê¤¤¤ÈȽÃǤ·¡¢Á°½Ò¤Î¤è¤¦¤Ëµ¯Æ°¤·¤Þ¤¹¡£

·Ñ¾µ¤µ¤ì¤¿¥Á¥ã¥ó¥Í¥ë¤¬ServerSocketChannel¥¤¥ó¥¹¥¿¥ó¥¹¤Ç¤¢¤ë¾ì¹ç¤Ï¡¢RMID¤Ï¥¨¥¯¥¹¥Ý¡¼¥È¤¹¤ë¥ê¥â¡¼¥È¡¦¥ª¥Ö¥¸¥§¥¯¥È¡¢¤Ä¤Þ¤êjava.rmi.activation.ActivationSystem¤¬¥Ð¥¤¥ó¥É¤µ¤ì¤Æ¤¤¤ë¥ì¥¸¥¹¥È¥ê¤Èjava.rmi.activation.Activator¥ê¥â¡¼¥È¡¦¥ª¥Ö¥¸¥§¥¯¥È¤ËÂФ¹¤ë¥ê¥¯¥¨¥¹¥È¤ò¼õ¿®¤¹¤ë¥µ¡¼¥Ð¡¼¡¦¥½¥±¥Ã¥È¤È¤·¤Æ¡¢ServerSocketChannel¤«¤é¼èÆÀ¤·¤¿java.net.ServerSocket¤ò»ÈÍѤ·¤Þ¤¹¡£¤³¤Î¥â¡¼¥É¤Ç¤Ï¡¢RMID¤ÎÆ°ºî¤Ï¡¢¼¡¤Î¤³¤È¤ò½ü¤¤¤Æ¡¢¥³¥Þ¥ó¥É¹Ô¤«¤éµ¯Æ°¤·¤¿¾ì¹ç¤ÈƱ¤¸¤Ç¤¹¡£

System.err¤ËÂФ¹¤ë½ÐÎϤϡ¢¥Õ¥¡¥¤¥ë¤Ë¥ê¥À¥¤¥ì¥¯¥È¤µ¤ì¤ë¡£¤³¤Î¥Õ¥¡¥¤¥ë¤Ïjava.io.tmpdir¥·¥¹¥Æ¥à¡¦¥×¥í¥Ñ¥Æ¥£¤Ç»ØÄꤵ¤ì¤ë¥Ç¥£¥ì¥¯¥È¥ê(Ä̾ï¤Ï/var/tmp¤Þ¤¿¤Ï/tmp)¤Ë¤¢¤ë¡£¥Õ¥¡¥¤¥ë̾¤ÎÀÜƬ¼­¤Ïrmid-err¤Ç¡¢ÀÜÈø¼­¤Ïtmp¤Ç¤¢¤ë¡£
-port¥ª¥×¥·¥ç¥ó¤Ï»ÈÍѤǤ­¤Þ¤»¤ó¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢RMID¤Ï¥¨¥é¡¼¡¦¥á¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¤Æ½ªÎ»¤·¤Þ¤¹¡£
-log¥ª¥×¥·¥ç¥ó¤Ïɬ¿Ü¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢RMID¤Ï¥¨¥é¡¼¡¦¥á¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¤Æ½ªÎ»¤·¤Þ¤¹¡£

ɬÍפ˱þ¤¸¤Æ¥µ¡¼¥Ó¥¹¤ò³«»Ï¤¹¤ë¤è¤¦¤Ë¹½À®¤¹¤ëÊýË¡¤Î¾ÜºÙ¤Ï¡¢inetd (Oracle Solaris¤Î¾ì¹ç)¡¢¤Þ¤¿¤Ïxinetd (Linux)¤Î¥Þ¥Ë¥å¥¢¥ë¡¦¥Ú¡¼¥¸¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£

¥ª¥×¥·¥ç¥ó

-C¥ª¥×¥·¥ç¥ó

rmid¥³¥Þ¥ó¥É¤Î»Ò¥×¥í¥»¥¹(µ¯Æ°¥°¥ë¡¼¥×)¤¬ºîÀ®¤µ¤ì¤¿¤È¤­¤Ë¡¢¤½¤ì¤¾¤ì¤Î»Ò¥×¥í¥»¥¹¤Ë¥³¥Þ¥ó¥É¹Ô°ú¿ô¤È¤·¤ÆÅϤµ¤ì¤ë¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤Ë»ØÄꤹ¤ë¤È¡¢µ¯Æ°¥·¥¹¥Æ¥à¡¦¥Ç¡¼¥â¥ó¤Ë¤è¤Ã¤ÆÀ¸À®¤µ¤ì¤ë³Æ²¾ÁÛ¥Þ¥·¥ó¤Ë¥×¥í¥Ñ¥Æ¥£¤òÅϤ¹¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
rmid -C-Dsome.property=value
¥³¥Þ¥ó¥É¹Ô°ú¿ô¤ò»Ò¥×¥í¥»¥¹¤ËÅϤ¹µ¡Ç½¤Ï¡¢¥Ç¥Ð¥Ã¥°¤ò¹Ô¤¦¾ì¹ç¤ËÊØÍø¤Ç¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¥³¥Þ¥ó¥É¤Ç¤Ï¡¢¤¹¤Ù¤Æ¤Î»ÒJVM¤Çserver-call¥í¥®¥ó¥°¤¬²Äǽ¤Ç¤¹¡£
rmid -C-Djava.rmi.server.logCalls=true

-Joption

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¤¬ºÎÍѤ¹¤ë¥Ý¥ê¥·¡¼¤ò»ØÄꤷ¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢Java RMIµ¯Æ°¥Ç¡¼¥â¥ó¤ÎOracle¤Î¼ÂÁõ¤Î¤ß¤Ë¸ºß¤¹¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£¥³¥Þ¥ó¥É¹Ô¤Ë¤³¤Î¥×¥í¥Ñ¥Æ¥£¤ò»ØÄꤷ¤Ê¤¤¾ì¹ç¡¢·ë²Ì¤Ï-J-Dsun.rmi.activation.execPolicy=default¤ò»ØÄꤷ¤¿¾ì¹ç¤ÈƱ¤¸¤Ë¤Ê¤ê¤Þ¤¹¡£policy¤Ë»ØÄê²Äǽ¤ÊÃͤϡ¢default¡¢policyClassName¤Þ¤¿¤Ïnone¤Ç¤¹¡£
•¥Ç¥Õ¥©¥ë¥È

default¤Þ¤¿¤Ï̤»ØÄêÃͤÎexecPolicy¤Î¾ì¹ç¡¢rmid¥³¥Þ¥ó¥É¤¬¼Â¹Ô¤Ç¤­¤ë¤Î¤Ï¡¢rmid¥³¥Þ¥ó¥É¤¬»ÈÍѤ¹¤ë¥»¥­¥å¥ê¥Æ¥£¡¦¥Ý¥ê¥·¡¼¡¦¥Õ¥¡¥¤¥ë¤ÎÃæ¤Ç¡¢¼Â¹Ô¤¹¤ë¸¢¸Â¤¬rmid¤ËÍ¿¤¨¤é¤ì¤Æ¤¤¤ë¥³¥Þ¥ó¥É¤ª¤è¤Ó¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó¤Î¤ß¤Ç¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Î¼Â¹Ô¥Ý¥ê¥·¡¼¤Ç»ÈÍѤǤ­¤ë¤Î¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Îµ¯Æ°¥°¥ë¡¼¥×¼ÂÁõ¤Î¤ß¤Ç¤¹¡£

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>>¤Ç¹½À®¤µ¤ì¤ë¥Ñ¥¹Ì¾¤Ï¡¢¤É¤Î¥Õ¥¡¥¤¥ë¤È¤â°ìÃפ·¤Þ¤¹¡£

¥Ñ¥¹Ì¾¤Ë¥¢¥¹¥¿¥ê¥¹¥¯(*)¤ò»ØÄꤷ¤¿¾ì¹ç¤Ï¡¢¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤ò¼¨¤·¤Þ¤¹¡£¥Ñ¥¹Ì¾¤Ë¥Þ¥¤¥Ê¥¹Éä¹æ(-)¤ò»ØÄꤷ¤¿¾ì¹ç¤Ï¡¢¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤ª¤è¤Ó(ºÆµ¢Åª¤Ë)¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë´Þ¤Þ¤ì¤ë¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤È¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤ò¼¨¤·¤Þ¤¹¡£

ExecOptionPermission

ExecOptionPermission¥¯¥é¥¹¤Ï¡¢µ¯Æ°¥°¥ë¡¼¥×¤ò³«»Ï¤¹¤ë¤È¤­¤Ërmid¥³¥Þ¥ó¥É¤ÇÆÃÄê¤Î¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤǤ­¤ë¸¢¸Â¤òɽ¤·¤Þ¤¹¡£ExecOptionPermission¤Î̾Á°¤Ï¡¢¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó¤ÎÃͤǤ¹¡£

¹½Ê¸: ¥ª¥×¥·¥ç¥ó¤Ç¤Ï¡¢¥ï¥¤¥ë¥É¥«¡¼¥É¤¬¸ÂÄêŪ¤Ë¥µ¥Ý¡¼¥È¤µ¤ì¤Þ¤¹¡£¥¢¥¹¥¿¥ê¥¹¥¯¤Ï¡¢¥ï¥¤¥ë¥É¥«¡¼¥É¡¦¥Þ¥Ã¥Á¤òɽ¤·¤Þ¤¹¡£¥¢¥¹¥¿¥ê¥¹¥¯(*)¤Ï¡¢¥ª¥×¥·¥ç¥ó̾¤½¤Î¤â¤Î¤È¤·¤Æ»ÈÍѤǤ­¤Þ¤¹¡£¤Ä¤Þ¤ê¡¢Ç¤°Õ¤Î¥ª¥×¥·¥ç¥ó¤òɽ¤¹¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤Þ¤¿¡¢¥ª¥×¥·¥ç¥ó̾¤ÎËöÈø¤Ë»ÈÍѤ¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£¤¿¤À¤·¡¢¥É¥Ã¥È(.)¤«Åù¹æ(=)¤Îľ¸å¤Ë¥¢¥¹¥¿¥ê¥¹¥¯(*)¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£

Îã: *¤ä-Dmydir.*¤ä-Da.b.c=*¤ÏÍ­¸ú¤Ç¤¹¤¬¡¢*mydir¤ä-Da*b¤äab*¤Ï̵¸ú¤Ç¤¹¡£

rmid¤Î¥Ý¥ê¥·¡¼¡¦¥Õ¥¡¥¤¥ë

rmid¥³¥Þ¥ó¥É¤ËÍÍ¡¹¤Ê¥³¥Þ¥ó¥É¤ª¤è¤Ó¥ª¥×¥·¥ç¥ó¤ò¼Â¹Ô¤¹¤ë¸¢¸Â¤òµö²Ä¤¹¤ë¾ì¹ç¤Ï¡¢¸¢¸ÂExecPermission¤ª¤è¤ÓExecOptionPermission¤ò¤¹¤Ù¤Æ¤Î¥³¡¼¥É¡¦¥½¡¼¥¹¤ËÉÕÍ¿¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹(ÈÆÍÑŪ¤Ë)¡£¤³¤ì¤é¤Î¸¢¸Â¤ò¥Á¥§¥Ã¥¯¤¹¤ë¤Î¤Ï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.*";
};
ºÇ½é¤ËÉÕÍ¿¤µ¤ì¤Æ¤¤¤ë¸¢¸Â¤Ï¡¢rmid¥³¥Þ¥ó¥É¤ËÂФ·¡¢¥Ñ¥¹Ì¾¤Ë¤è¤êÌÀ¼¨Åª¤Ë»ØÄꤵ¤ì¤ëjava¥³¥Þ¥ó¥É¤Î1.7.0¥ê¥ê¡¼¥¹¤Î¼Â¹Ô¤òµö²Ä¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢java.home¤Ë¤¢¤ë¥Ð¡¼¥¸¥ç¥ó¤Îjava¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Þ¤¹¡£rmid¥³¥Þ¥ó¥É¤¬»ÈÍѤ¹¤ë¤Î¤ÈƱ¤¸¥Ð¡¼¥¸¥ç¥ó¤¬»ÈÍѤµ¤ì¤ë¤¿¤á¡¢¤½¤Î¥³¥Þ¥ó¥É¤Ï¡¢¥Ý¥ê¥·¡¼¡¦¥Õ¥¡¥¤¥ë¤Ç»ØÄꤹ¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£2ÈÖÌܤθ¢¸Â¤Ï¡¢rmid¥³¥Þ¥ó¥É¤ËÂФ·¤Æ¡¢¥Ç¥£¥ì¥¯¥È¥ê/files/apps/rmidcmdsÆâ¤ÎǤ°Õ¤Î¥³¥Þ¥ó¥É¤Î¼Â¹Ô¸¢¸Â¤òµö²Ä¤·¤Þ¤¹¡£

3ÈÖÌܤËÉÕÍ¿¤µ¤ì¤Æ¤¤¤ë¸¢¸ÂExecOptionPermission¤Ï¡¢rmid¥³¥Þ¥ó¥É¤ËÂФ·¤Æ¡¢¥»¥­¥å¥ê¥Æ¥£¡¦¥Ý¥ê¥·¡¼¡¦¥Õ¥¡¥¤¥ë¤ò/files/policies/group.policy¤È¤·¤ÆÄêµÁ¤·¤Æ¤¤¤ëµ¯Æ°¥°¥ë¡¼¥×¤Î³«»Ï¤òµö²Ä¤·¤Þ¤¹¡£¼¡¤Î¸¢¸Â¤Ï¡¢µ¯Æ°¥°¥ë¡¼¥×¤¬java.security.debug property¤ò»ÈÍѤ¹¤ë¤³¤È¤òµö²Ä¤·¤Æ¤¤¤Þ¤¹¡£ºÇ¸å¤Î¸¢¸Â¤Ï¡¢µ¯Æ°¥°¥ë¡¼¥×¤¬sun.rmi property̾¤Î³¬ÁØÆâ¤ÎǤ°Õ¤Î¥×¥í¥Ñ¥Æ¥£¤ò»ÈÍѤ¹¤ë¤³¤È¤òµö²Ä¤·¤Æ¤¤¤Þ¤¹¡£

¥Ý¥ê¥·¡¼¡¦¥Õ¥¡¥¤¥ë¤ò»ØÄꤷ¤Ærmid¥³¥Þ¥ó¥É¤òµ¯Æ°¤¹¤ë¤Ë¤Ï¡¢rmid¤Î¥³¥Þ¥ó¥É¹Ô¤Çjava.security.policy¥×¥í¥Ñ¥Æ¥£¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£

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

•<policyClassName>

¥Ç¥Õ¥©¥ë¥È¤ÎÆ°ºî¤Ç¤Ï½½Ê¬¤Ê½ÀÆðÀ­¤¬ÆÀ¤é¤ì¤Ê¤¤¾ì¹ç¡¢´ÉÍý¼Ô¤Ï¡¢rmid¤Îµ¯Æ°»þ¤Ë¡¢checkExecCommand¥á¥½¥Ã¥É¤¬½ê°¤¹¤ë¥¯¥é¥¹¤Î̾Á°¤ò»ØÄꤷ¤Æ¡¢rmid¥³¥Þ¥ó¥É¤¬¼Â¹Ô¤¹¤ë¥³¥Þ¥ó¥É¤ò¥Á¥§¥Ã¥¯¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£

policyClassName¤Ë¤Ï¡¢°ú¿ô¤Ê¤·¤Î¥³¥ó¥¹¥È¥é¥¯¥¿¤ò»ý¤Á¡¢¼¡¤Î¤è¤¦¤ÊcheckExecCommand¥á¥½¥Ã¥É¤ò¼ÂÁõ¤·¤Æ¤¤¤ëpublic¥¯¥é¥¹¤ò»ØÄꤷ¤Þ¤¹¡£

 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

¥ì¥¸¥¹¥È¥ê¤¬»ÈÍѤ¹¤ë¥Ý¡¼¥È¤ò»ØÄꤷ¤Þ¤¹¡£µ¯Æ°¥·¥¹¥Æ¥à¡¦¥Ç¡¼¥â¥ó¤Ï¡¢¤³¤Î¥ì¥¸¥¹¥È¥ê¤ÎÃæ¤Ç¡¢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

¥æ¡¼¥¶¡¼ÄêµÁ¥¯¥é¥¹¤Ø¤Î¥Ñ¥¹¤ò¥·¥¹¥Æ¥à¤Ë»ØÄꤷ¤Þ¤¹¡£¥Ç¥£¥ì¥¯¥È¥ê¤Ï¥³¥í¥ó¤Ç¶èÀÚ¤é¤ì¤Þ¤¹¡£Îã: .:/usr/local/java/classes

´ØÏ¢¹àÌÜ

•java(1)
•¥¯¥é¥¹¡¦¥Ñ¥¹¤ÎÀßÄê
2013ǯ11·î21Æü JDK 8