jdk/src/solaris/doc/sun/man/man1/rmid.1
author duke
Sat, 01 Dec 2007 00:00:00 +0000
changeset 2 90ce3da70b43
child 2692 345bc8d65b19
permissions -rw-r--r--
Initial load
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
     1
.'" t
90ce3da70b43 Initial load
duke
parents:
diff changeset
     2
." Copyright 2006 Sun Microsystems, Inc.  All Rights Reserved.
90ce3da70b43 Initial load
duke
parents:
diff changeset
     3
." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
90ce3da70b43 Initial load
duke
parents:
diff changeset
     4
."
90ce3da70b43 Initial load
duke
parents:
diff changeset
     5
." This code is free software; you can redistribute it and/or modify it
90ce3da70b43 Initial load
duke
parents:
diff changeset
     6
." under the terms of the GNU General Public License version 2 only, as
90ce3da70b43 Initial load
duke
parents:
diff changeset
     7
." published by the Free Software Foundation.
90ce3da70b43 Initial load
duke
parents:
diff changeset
     8
."
90ce3da70b43 Initial load
duke
parents:
diff changeset
     9
." This code is distributed in the hope that it will be useful, but WITHOUT
90ce3da70b43 Initial load
duke
parents:
diff changeset
    10
." ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
90ce3da70b43 Initial load
duke
parents:
diff changeset
    11
." FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
90ce3da70b43 Initial load
duke
parents:
diff changeset
    12
." version 2 for more details (a copy is included in the LICENSE file that
90ce3da70b43 Initial load
duke
parents:
diff changeset
    13
." accompanied this code).
90ce3da70b43 Initial load
duke
parents:
diff changeset
    14
."
90ce3da70b43 Initial load
duke
parents:
diff changeset
    15
." You should have received a copy of the GNU General Public License version
90ce3da70b43 Initial load
duke
parents:
diff changeset
    16
." 2 along with this work; if not, write to the Free Software Foundation,
90ce3da70b43 Initial load
duke
parents:
diff changeset
    17
." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
90ce3da70b43 Initial load
duke
parents:
diff changeset
    18
."
90ce3da70b43 Initial load
duke
parents:
diff changeset
    19
." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
90ce3da70b43 Initial load
duke
parents:
diff changeset
    20
." CA 95054 USA or visit www.sun.com if you need additional information or
90ce3da70b43 Initial load
duke
parents:
diff changeset
    21
." have any questions.
90ce3da70b43 Initial load
duke
parents:
diff changeset
    22
." ` 
90ce3da70b43 Initial load
duke
parents:
diff changeset
    23
.TH rmid 1 "05 Aug 2006"
90ce3da70b43 Initial load
duke
parents:
diff changeset
    24
." Generated by html2roff
90ce3da70b43 Initial load
duke
parents:
diff changeset
    25
.\\"  Changed by: Ann Wollrath \- JavaSoft East,  2\-Mar\-2000 
90ce3da70b43 Initial load
duke
parents:
diff changeset
    26
.\\"  Changed by: Jen McGinn \- Jini Technology Software,  6\-Mar\-2000 
90ce3da70b43 Initial load
duke
parents:
diff changeset
    27
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
    28
.SH NAME
90ce3da70b43 Initial load
duke
parents:
diff changeset
    29
rmid \- The Java RMI Activation System Daemon
90ce3da70b43 Initial load
duke
parents:
diff changeset
    30
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
    31
90ce3da70b43 Initial load
duke
parents:
diff changeset
    32
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
    33
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
    34
\f3rmid\fP starts the activation system daemon that allows objects to be registered and activated in a virtual machine (VM).
90ce3da70b43 Initial load
duke
parents:
diff changeset
    35
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
    36
.SH "SYNOPSIS"
90ce3da70b43 Initial load
duke
parents:
diff changeset
    37
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
    38
90ce3da70b43 Initial load
duke
parents:
diff changeset
    39
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
    40
.nf
90ce3da70b43 Initial load
duke
parents:
diff changeset
    41
\f3
90ce3da70b43 Initial load
duke
parents:
diff changeset
    42
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
    43
rmid [options]
90ce3da70b43 Initial load
duke
parents:
diff changeset
    44
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
    45
\fP
90ce3da70b43 Initial load
duke
parents:
diff changeset
    46
.fi
90ce3da70b43 Initial load
duke
parents:
diff changeset
    47
90ce3da70b43 Initial load
duke
parents:
diff changeset
    48
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
    49
.SH "DESCRIPTION"
90ce3da70b43 Initial load
duke
parents:
diff changeset
    50
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
    51
90ce3da70b43 Initial load
duke
parents:
diff changeset
    52
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
    53
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
    54
The \f3rmid\fP tool starts the activation system daemon. The activation system daemon must be started before activatable objects can be either registered with the activation system or activated in a VM. See the 
90ce3da70b43 Initial load
duke
parents:
diff changeset
    55
.na
90ce3da70b43 Initial load
duke
parents:
diff changeset
    56
\f2Java RMI Specification\fP @
90ce3da70b43 Initial load
duke
parents:
diff changeset
    57
.fi
90ce3da70b43 Initial load
duke
parents:
diff changeset
    58
http://java.sun.com/javase/6/docs/platform/rmi/spec/rmitoc.html and 
90ce3da70b43 Initial load
duke
parents:
diff changeset
    59
.na
90ce3da70b43 Initial load
duke
parents:
diff changeset
    60
\f2Activation tutorials\fP @
90ce3da70b43 Initial load
duke
parents:
diff changeset
    61
.fi
90ce3da70b43 Initial load
duke
parents:
diff changeset
    62
http://java.sun.com/javase/6/docs/technotes/guides/rmi/activation/overview.html for details on how to write programs that use activatable remote objects.
90ce3da70b43 Initial load
duke
parents:
diff changeset
    63
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
    64
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
    65
The daemon can be started by executing the \f2rmid\fP command, and specifying a security policy file, as follows:
90ce3da70b43 Initial load
duke
parents:
diff changeset
    66
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
    67
.nf
90ce3da70b43 Initial load
duke
parents:
diff changeset
    68
\f3
90ce3da70b43 Initial load
duke
parents:
diff changeset
    69
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
    70
    rmid \-J\-Djava.security.policy=rmid.policy
90ce3da70b43 Initial load
duke
parents:
diff changeset
    71
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
    72
\fP
90ce3da70b43 Initial load
duke
parents:
diff changeset
    73
.fi
90ce3da70b43 Initial load
duke
parents:
diff changeset
    74
90ce3da70b43 Initial load
duke
parents:
diff changeset
    75
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
    76
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
    77
\f3Note:\fP When running Sun's implementation of \f2rmid\fP, by default you will need to specify a security policy file so that \f2rmid\fP can verify whether or not the information in each \f2ActivationGroupDesc\fP is allowed to be used to launch a VM for an activation group. Specifically, the command and options specified by the \f2CommandEnvironment\fP and any \f2Properties\fP passed to an \f2ActivationGroupDesc\fP's constructor must now be explicitly allowed in the security policy file for \f2rmid\fP. The value of the \f2sun.rmi.activation.execPolicy\fP property dictates the policy that \f2rmid\fP uses to determine whether or not the information in an \f2ActivationGroupDesc\fP may be used to launch a VM for an activation group.
90ce3da70b43 Initial load
duke
parents:
diff changeset
    78
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
    79
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
    80
Executing \f2rmid\fP by default
90ce3da70b43 Initial load
duke
parents:
diff changeset
    81
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
    82
.RS 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
    83
.TP 2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    84
*
90ce3da70b43 Initial load
duke
parents:
diff changeset
    85
starts the Activator and an internal registry on the default port, 1098, and 
90ce3da70b43 Initial load
duke
parents:
diff changeset
    86
.TP 2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    87
*
90ce3da70b43 Initial load
duke
parents:
diff changeset
    88
binds an \f2ActivationSystem\fP to the name \f2java.rmi.activation.ActivationSystem\fP in this internal registry. 
90ce3da70b43 Initial load
duke
parents:
diff changeset
    89
.RE
90ce3da70b43 Initial load
duke
parents:
diff changeset
    90
90ce3da70b43 Initial load
duke
parents:
diff changeset
    91
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
    92
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
    93
To specify an alternate port for the registry, you must specify the \f2\-port\fP option when starting up \f2rmid\fP. For example,
90ce3da70b43 Initial load
duke
parents:
diff changeset
    94
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
    95
.nf
90ce3da70b43 Initial load
duke
parents:
diff changeset
    96
\f3
90ce3da70b43 Initial load
duke
parents:
diff changeset
    97
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
    98
    rmid \-J\-Djava.security.policy=rmid.policy \-port 1099
90ce3da70b43 Initial load
duke
parents:
diff changeset
    99
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   100
\fP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   101
.fi
90ce3da70b43 Initial load
duke
parents:
diff changeset
   102
90ce3da70b43 Initial load
duke
parents:
diff changeset
   103
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   104
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   105
starts the activation system daemon and a registry on the registry's default port, 1099.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   106
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   107
.SS 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   108
Starting rmid from
90ce3da70b43 Initial load
duke
parents:
diff changeset
   109
inetd/xinetd
90ce3da70b43 Initial load
duke
parents:
diff changeset
   110
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   111
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   112
An alternative to starting \f2rmid\fP from the command line is to configure \f2inetd\fP (Solaris) or \f2xinetd\fP (Linux) to start \f2rmid\fP on demand.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   113
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   114
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   115
When \f2rmid\fP starts up, it attempts to obtain an inherited channel (inherited from \f2inetd\fP/\f2xinetd\fP) by invoking the \f2System.inheritedChannel\fP method. If the inherited channel is \f2null\fP or not an instance of \f2java.nio.channels.ServerSocketChannel\fP, then \f2rmid\fP assumes that it was not started by \f2inetd\fP/\f2xinetd\fP, and it starts up as described above.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   116
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   117
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   118
If the inherited channel is a \f2ServerSocketChannel\fP instance, then \f2rmid\fP uses the \f2java.net.ServerSocket\fP obtained from the \f2ServerSocketChannel\fP as the server socket that accepts requests for the remote objects it exports, namely the registry in which the \f2java.rmi.activation.ActivationSystem\fP is bound and the \f2java.rmi.activation.Activator\fP remote object. In this mode, \f2rmid\fP behaves the same as when it is started from the command line, \f2except\fP:
90ce3da70b43 Initial load
duke
parents:
diff changeset
   119
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   120
.RS 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   121
.TP 2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   122
*
90ce3da70b43 Initial load
duke
parents:
diff changeset
   123
Output printed to \f2System.err\fP is redirected to a file. This file is located in the directory specified by the \f2java.io.tmpdir\fP system property (typically \f2/var/tmp\fP or \f2/tmp\fP) with the prefix \f2"rmid\-err"\fP and the suffix \f2"tmp"\fP. 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   124
.TP 2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   125
*
90ce3da70b43 Initial load
duke
parents:
diff changeset
   126
The \f2\-port\fP option is disallowed. If this option is specified, \f2rmid\fP will exit with an error message. 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   127
.TP 2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   128
*
90ce3da70b43 Initial load
duke
parents:
diff changeset
   129
The \f2\-log\fP option is required. If this option is not specified, \f2rmid\fP will exit with an error message. 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   130
.RE
90ce3da70b43 Initial load
duke
parents:
diff changeset
   131
90ce3da70b43 Initial load
duke
parents:
diff changeset
   132
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   133
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   134
See the man pages for \f2inetd\fP (Solaris) or \f2xinetd\fP (Linux) for details on how to configure services to be started on demand.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   135
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   136
.SH "OPTIONS"
90ce3da70b43 Initial load
duke
parents:
diff changeset
   137
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   138
90ce3da70b43 Initial load
duke
parents:
diff changeset
   139
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   140
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   141
\-C<someCommandLineOption> 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   142
Specifies an option that is passed as a command\-line argument to each child process (activation group) of \f2rmid\fP when that process is created. For example, you could pass a property to each virtual machine spawned by the activation system daemon: 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   143
.nf
90ce3da70b43 Initial load
duke
parents:
diff changeset
   144
\f3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   145
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   146
    rmid \-C\-Dsome.property=value
90ce3da70b43 Initial load
duke
parents:
diff changeset
   147
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   148
\fP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   149
.fi
90ce3da70b43 Initial load
duke
parents:
diff changeset
   150
This ability to pass command\-line arguments to child processes can be useful for debugging. For example, the following command: 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   151
.nf
90ce3da70b43 Initial load
duke
parents:
diff changeset
   152
\f3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   153
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   154
    rmid \-C\-Djava.rmi.server.logCalls=true
90ce3da70b43 Initial load
duke
parents:
diff changeset
   155
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   156
\fP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   157
.fi
90ce3da70b43 Initial load
duke
parents:
diff changeset
   158
will enable server\-call logging in all child VMs. 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   159
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   160
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   161
\-J<someCommandLineOption> 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   162
Specifies an option that is passed to the \f2java\fP interpreter running \f2rmid\fP. For example, to specify that \f2rmid\fP use a policy file named \f2rmid.policy\fP, the \f2\-J\fP option can be used to define the \f2java.security.policy\fP property on \f2rmid\fP's command line, for example: 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   163
.nf
90ce3da70b43 Initial load
duke
parents:
diff changeset
   164
\f3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   165
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   166
    rmid \-J\-Djava.security.policy=rmid.policy
90ce3da70b43 Initial load
duke
parents:
diff changeset
   167
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   168
\fP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   169
.fi
90ce3da70b43 Initial load
duke
parents:
diff changeset
   170
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   171
90ce3da70b43 Initial load
duke
parents:
diff changeset
   172
\-J\-Dsun.rmi.activation.execPolicy=<policy> 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   173
Specifies the policy that \f2rmid\fP employs to check commands and command\-line options used to launch the VM in which an activation group runs. Please note that this option exists only in Sun's implementation of the Java RMI activation daemon. If this property is not specified on the command line, the result is the same as if \f2\-J\-Dsun.rmi.activation.execPolicy=default\fP were specified. The possible values of \f2<policy>\fP can be \f2default\fP, \f2<policyClassName>\fP, or \f2none\fP: 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   174
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   175
.RS 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   176
.TP 2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   177
*
90ce3da70b43 Initial load
duke
parents:
diff changeset
   178
\f3default (or if this property is \fP\f4unspecified\fP\f3)\fP 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   179
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   180
The default \f2execPolicy\fP allows \f2rmid\fP to execute commands with specific command\-line options only if \f2rmid\fP has been granted permission to execute those commands and options in the security policy file that \f2rmid\fP uses. Only the default activation group implementation can be used with the \f2default\fP execution policy. 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   181
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   182
\f2rmid\fP launches a VM for an activation group using the information in the group's registered activation group descriptor, an \f2ActivationGroupDesc\fP. The group descriptor specifies an optional \f2ActivationGroupDesc.CommandEnvironment\fP which includes the \f2command\fP to execute to start the activation group as well as any command line \f2options\fP to be added to the command line. By default, \f2rmid\fP uses the \f2java\fP command found in \f2java.home\fP. The group descriptor also contains \f2properties\fP overrides that are added to the command line as options defined as: 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   183
.nf
90ce3da70b43 Initial load
duke
parents:
diff changeset
   184
\f3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   185
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   186
    \-D\fP\f4<property>\fP\f3=\fP\f4<value>\fP\f3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   187
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   188
\fP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   189
.fi
90ce3da70b43 Initial load
duke
parents:
diff changeset
   190
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   191
The permission \f2com.sun.rmi.rmid.ExecPermission\fP is used to grant \f2rmid\fP permission to execute a command, specified in the group descriptor's \f2CommandEnvironment\fP to launch an activation group. The permission \f2com.sun.rmi.rmid.ExecOptionPermission\fP is used to allow \f2rmid\fP to use command\-line options, specified as properties overrides in the group descriptor or as options in the \f2CommandEnvironment\fP, when launching the activation group. 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   192
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   193
When granting \f2rmid\fP permission to execute various commands and options, the permissions \f2ExecPermission\fP and \f2ExecOptionPermission\fP need to be granted universally (i.e., granted to all code sources).  
90ce3da70b43 Initial load
duke
parents:
diff changeset
   194
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   195
ExecPermission 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   196
The \f2ExecPermission\fP class represents permission for \f2rmid\fP to execute a specific \f2command\fP to launch an activation group. 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   197
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   198
\f3Syntax\fP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   199
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
   200
The \f2name\fP of an \f2ExecPermission\fP is the path name of a command to grant \f2rmid\fP permission to execute. A path name that ends in "/*" indicates all the files contained in that directory (where "/" is the file\-separator character, \f2File.separatorChar\fP). A path name that ends with "/\-" indicates all files and subdirectories contained in that directory (recursively). A path name consisting of the special token "<<ALL FILES>>" matches \f3any\fP file. 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   201
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   202
\f3Note:\fP A path name consisting of a single "*" indicates all the files in the current directory, while a path name consisting of a single "\-" indicates all the files in the current directory and (recursively) all files and subdirectories contained in the current directory.  
90ce3da70b43 Initial load
duke
parents:
diff changeset
   203
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   204
ExecOptionPermission 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   205
The \f2ExecOptionPermission\fP class represents permission for \f2rmid\fP to use a specific command\-line \f2option\fP when launching an activation group. The \f2name\fP of an \f2ExecOptionPermission\fP is the value of a command line option. 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   206
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   207
\f3Syntax\fP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   208
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
   209
Options support a limited wildcard scheme. An asterisk signifies a wildcard match, and it may appear as the option name itself (i.e., it matches any option), or an asterisk may appear at the end of the option name only if the asterisk follows either a "." or "=". 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   210
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   211
For example: "*" or "\-Dfoo.*" or "\-Da.b.c=*" is valid, "*foo" or "\-Da*b" or "ab*" is not.  
90ce3da70b43 Initial load
duke
parents:
diff changeset
   212
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   213
Policy file for
90ce3da70b43 Initial load
duke
parents:
diff changeset
   214
rmid 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   215
When granting \f2rmid\fP permission to execute various commands and options, the permissions \f2ExecPermission\fP and \f2ExecOptionPermission\fP need to be granted universally (i.e., granted to all code sources). It is safe to grant these permissions universally because only \f2rmid\fP checks these permissions. 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   216
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   217
An example policy file that grants various execute permissions to \f2rmid\fP is: 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   218
.nf
90ce3da70b43 Initial load
duke
parents:
diff changeset
   219
\f3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   220
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   221
grant {
90ce3da70b43 Initial load
duke
parents:
diff changeset
   222
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   223
    permission com.sun.rmi.rmid.ExecPermission
90ce3da70b43 Initial load
duke
parents:
diff changeset
   224
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   225
        "/files/apps/java/jdk1.2.2/solaris/bin/java";
90ce3da70b43 Initial load
duke
parents:
diff changeset
   226
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   227
90ce3da70b43 Initial load
duke
parents:
diff changeset
   228
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   229
    permission com.sun.rmi.rmid.ExecPermission
90ce3da70b43 Initial load
duke
parents:
diff changeset
   230
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   231
        "/files/apps/java/jdk1.2.2/solaris/bin/java_g";
90ce3da70b43 Initial load
duke
parents:
diff changeset
   232
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   233
90ce3da70b43 Initial load
duke
parents:
diff changeset
   234
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   235
    permission com.sun.rmi.rmid.ExecPermission
90ce3da70b43 Initial load
duke
parents:
diff changeset
   236
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   237
        "/files/apps/rmidcmds/*";
90ce3da70b43 Initial load
duke
parents:
diff changeset
   238
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   239
90ce3da70b43 Initial load
duke
parents:
diff changeset
   240
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   241
    permission com.sun.rmi.rmid.ExecOptionPermission
90ce3da70b43 Initial load
duke
parents:
diff changeset
   242
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   243
        "\-Djava.security.policy=/files/policies/group.policy";
90ce3da70b43 Initial load
duke
parents:
diff changeset
   244
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   245
90ce3da70b43 Initial load
duke
parents:
diff changeset
   246
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   247
    permission com.sun.rmi.rmid.ExecOptionPermission
90ce3da70b43 Initial load
duke
parents:
diff changeset
   248
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   249
        "\-Djava.security.debug=*";
90ce3da70b43 Initial load
duke
parents:
diff changeset
   250
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   251
90ce3da70b43 Initial load
duke
parents:
diff changeset
   252
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   253
    permission com.sun.rmi.rmid.ExecOptionPermission
90ce3da70b43 Initial load
duke
parents:
diff changeset
   254
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   255
        "\-Dsun.rmi.*";
90ce3da70b43 Initial load
duke
parents:
diff changeset
   256
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   257
};
90ce3da70b43 Initial load
duke
parents:
diff changeset
   258
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   259
\fP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   260
.fi
90ce3da70b43 Initial load
duke
parents:
diff changeset
   261
The first two permissions granted allow \f2rmid\fP to execute the 1.2.2 version of the \f2java\fP and \f2java_g\fP commands, specified by their explicit path names. Note that by default, the version of the \f2java\fP command found in \f2java.home\fP is used (the same one that \f2rmid\fP uses), and does not need to be specified in the policy file. The third permission allows \f2rmid\fP to execute any command in the directory \f2/files/apps/rmidcmds\fP. 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   262
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   263
The fourth permission granted, an \f2ExecOptionPermission\fP, allows \f2rmid\fP to launch an activation group that defines the security policy file to be \f2/files/policies/group.policy\fP. The next permission allows the \f2java.security.debug\fP property to be used by an activation group. The last permission allows any property in the \f2sun.rmi\fP property name hierarchy to be used by activation groups. 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   264
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   265
To start \f2rmid\fP with a policy file, the \f2java.security.policy\fP property needs to be specified on \f2rmid\fP's command line, for example: 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   266
.RS 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   267
90ce3da70b43 Initial load
duke
parents:
diff changeset
   268
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   269
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   270
\f2rmid \-J\-Djava.security.policy=rmid.policy\fP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   271
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   272
.RE
90ce3da70b43 Initial load
duke
parents:
diff changeset
   273
.TP 2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   274
*
90ce3da70b43 Initial load
duke
parents:
diff changeset
   275
.TP 2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   276
*
90ce3da70b43 Initial load
duke
parents:
diff changeset
   277
\f4<policyClassName>\fP 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   278
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   279
If the default behavior is not flexible enough, an administrator can provide, when starting \f2rmid\fP, the name of a class whose \f2checkExecCommand\fP method is executed in order to check commands to be executed by rmid. 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   280
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   281
The \f2policyClassName\fP specifies a public class with a public, no\-argument constructor and an implementation of the following \f2checkExecCommand\fP method: 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   282
.nf
90ce3da70b43 Initial load
duke
parents:
diff changeset
   283
\f3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   284
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   285
    public void checkExecCommand(ActivationGroupDesc desc,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   286
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   287
                                 String[] command)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   288
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   289
        throws SecurityException;
90ce3da70b43 Initial load
duke
parents:
diff changeset
   290
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   291
\fP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   292
.fi
90ce3da70b43 Initial load
duke
parents:
diff changeset
   293
Before launching an activation group, \f2rmid\fP calls the policy's \f2checkExecCommand\fP method, passing it the activation group descriptor and an array containing the complete command to launch the activation group. If the \f2checkExecCommand\fP throws a \f2SecurityException\fP, \f2rmid\fP will not launch the activation group and an \f2ActivationException\fP will be thrown to the caller attempting to activate the object. 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   294
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   295
.TP 2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   296
*
90ce3da70b43 Initial load
duke
parents:
diff changeset
   297
\f3none\fP 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   298
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   299
If the \f2sun.rmi.activation.execPolicy\fP property value is "none", then \f2rmid\fP will not perform any validation of commands to launch activation groups.  
90ce3da70b43 Initial load
duke
parents:
diff changeset
   300
.RE
90ce3da70b43 Initial load
duke
parents:
diff changeset
   301
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   302
\-log dir 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   303
Specifies the name of the directory the activation system daemon uses to write its database and associated information. The log directory defaults to creating a directory, \f2log\fP, in the directory in which the \f2rmid\fP command was executed. 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   304
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   305
\-port port 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   306
Specifies the port \f2rmid\fP's registry uses. The activation system daemon binds the \f2ActivationSystem\fP, with the name \f2java.rmi.activation.ActivationSystem\fP, in this registry. Thus, the \f2ActivationSystem\fP on the local machine can be obtained using the following \f2Naming.lookup\fP method call: 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   307
.nf
90ce3da70b43 Initial load
duke
parents:
diff changeset
   308
\f3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   309
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   310
    import java.rmi.*; 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   311
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   312
    import java.rmi.activation.*;
90ce3da70b43 Initial load
duke
parents:
diff changeset
   313
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   314
90ce3da70b43 Initial load
duke
parents:
diff changeset
   315
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   316
    ActivationSystem system; system = (ActivationSystem)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   317
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   318
    Naming.lookup("//:\fP\f4port\fP/java.rmi.activation.ActivationSystem");
90ce3da70b43 Initial load
duke
parents:
diff changeset
   319
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   320
.fi
90ce3da70b43 Initial load
duke
parents:
diff changeset
   321
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   322
\-stop 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   323
Stops the current invocation of \f2rmid\fP, for a port specified by the \f2\-port\fP option. If no port is specified, it will stop the \f2rmid\fP running on port 1098.   
90ce3da70b43 Initial load
duke
parents:
diff changeset
   324
.SH "ENVIRONMENT VARIABLES"
90ce3da70b43 Initial load
duke
parents:
diff changeset
   325
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   326
90ce3da70b43 Initial load
duke
parents:
diff changeset
   327
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   328
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   329
CLASSPATH 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   330
Used to provide the system a path to user\-defined classes. Directories are separated by colons. For example: 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   331
.nf
90ce3da70b43 Initial load
duke
parents:
diff changeset
   332
\f3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   333
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   334
    .:/usr/local/java/classes
90ce3da70b43 Initial load
duke
parents:
diff changeset
   335
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   336
\fP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   337
.fi
90ce3da70b43 Initial load
duke
parents:
diff changeset
   338
90ce3da70b43 Initial load
duke
parents:
diff changeset
   339
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   340
.SH "SEE ALSO"
90ce3da70b43 Initial load
duke
parents:
diff changeset
   341
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   342
90ce3da70b43 Initial load
duke
parents:
diff changeset
   343
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   344
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   345
rmic, CLASSPATH, java
90ce3da70b43 Initial load
duke
parents:
diff changeset
   346
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   347
90ce3da70b43 Initial load
duke
parents:
diff changeset
   348
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   349