jdk/src/linux/doc/man/rmid.1
author jjg
Tue, 11 Mar 2008 13:14:55 -0700
changeset 168 25697c18650b
parent 2 90ce3da70b43
child 2692 345bc8d65b19
permissions -rw-r--r--
6307187: clean up code for -Xlint:options Summary: introduce common code for handling one-of and any-of options Reviewed-by: mcimadamore
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
."
90ce3da70b43 Initial load
duke
parents:
diff changeset
     3
." Copyright 2000-2006 Sun Microsystems, Inc.  All Rights Reserved.
90ce3da70b43 Initial load
duke
parents:
diff changeset
     4
." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
90ce3da70b43 Initial load
duke
parents:
diff changeset
     5
."
90ce3da70b43 Initial load
duke
parents:
diff changeset
     6
." This code is free software; you can redistribute it and/or modify it
90ce3da70b43 Initial load
duke
parents:
diff changeset
     7
." under the terms of the GNU General Public License version 2 only, as
90ce3da70b43 Initial load
duke
parents:
diff changeset
     8
." published by the Free Software Foundation.
90ce3da70b43 Initial load
duke
parents:
diff changeset
     9
."
90ce3da70b43 Initial load
duke
parents:
diff changeset
    10
." This code is distributed in the hope that it will be useful, but WITHOUT
90ce3da70b43 Initial load
duke
parents:
diff changeset
    11
." ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
90ce3da70b43 Initial load
duke
parents:
diff changeset
    12
." FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
90ce3da70b43 Initial load
duke
parents:
diff changeset
    13
." version 2 for more details (a copy is included in the LICENSE file that
90ce3da70b43 Initial load
duke
parents:
diff changeset
    14
." accompanied this code).
90ce3da70b43 Initial load
duke
parents:
diff changeset
    15
."
90ce3da70b43 Initial load
duke
parents:
diff changeset
    16
." You should have received a copy of the GNU General Public License version
90ce3da70b43 Initial load
duke
parents:
diff changeset
    17
." 2 along with this work; if not, write to the Free Software Foundation,
90ce3da70b43 Initial load
duke
parents:
diff changeset
    18
." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
90ce3da70b43 Initial load
duke
parents:
diff changeset
    19
."
90ce3da70b43 Initial load
duke
parents:
diff changeset
    20
." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
90ce3da70b43 Initial load
duke
parents:
diff changeset
    21
." CA 95054 USA or visit www.sun.com if you need additional information or
90ce3da70b43 Initial load
duke
parents:
diff changeset
    22
." have any questions.
90ce3da70b43 Initial load
duke
parents:
diff changeset
    23
." 
90ce3da70b43 Initial load
duke
parents:
diff changeset
    24
." `
90ce3da70b43 Initial load
duke
parents:
diff changeset
    25
.TH rmid 1 "05 Aug 2006"
90ce3da70b43 Initial load
duke
parents:
diff changeset
    26
." Generated by html2roff
90ce3da70b43 Initial load
duke
parents:
diff changeset
    27
.\\"  Changed by: Ann Wollrath \- JavaSoft East,  2\-Mar\-2000 
90ce3da70b43 Initial load
duke
parents:
diff changeset
    28
.\\"  Changed by: Jen McGinn \- Jini Technology Software,  6\-Mar\-2000 
90ce3da70b43 Initial load
duke
parents:
diff changeset
    29
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
    30
.SH NAME
90ce3da70b43 Initial load
duke
parents:
diff changeset
    31
rmid \- The Java RMI Activation System Daemon
90ce3da70b43 Initial load
duke
parents:
diff changeset
    32
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
    33
90ce3da70b43 Initial load
duke
parents:
diff changeset
    34
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
    35
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
    36
\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
    37
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
    38
.SH "SYNOPSIS"
90ce3da70b43 Initial load
duke
parents:
diff changeset
    39
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
    40
90ce3da70b43 Initial load
duke
parents:
diff changeset
    41
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
    42
.nf
90ce3da70b43 Initial load
duke
parents:
diff changeset
    43
\f3
90ce3da70b43 Initial load
duke
parents:
diff changeset
    44
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
    45
rmid [options]
90ce3da70b43 Initial load
duke
parents:
diff changeset
    46
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
    47
\fP
90ce3da70b43 Initial load
duke
parents:
diff changeset
    48
.fi
90ce3da70b43 Initial load
duke
parents:
diff changeset
    49
90ce3da70b43 Initial load
duke
parents:
diff changeset
    50
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
    51
.SH "DESCRIPTION"
90ce3da70b43 Initial load
duke
parents:
diff changeset
    52
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
    53
90ce3da70b43 Initial load
duke
parents:
diff changeset
    54
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
    55
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
    56
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
    57
.na
90ce3da70b43 Initial load
duke
parents:
diff changeset
    58
\f2Java RMI Specification\fP @
90ce3da70b43 Initial load
duke
parents:
diff changeset
    59
.fi
90ce3da70b43 Initial load
duke
parents:
diff changeset
    60
http://java.sun.com/javase/6/docs/platform/rmi/spec/rmitoc.html and 
90ce3da70b43 Initial load
duke
parents:
diff changeset
    61
.na
90ce3da70b43 Initial load
duke
parents:
diff changeset
    62
\f2Activation tutorials\fP @
90ce3da70b43 Initial load
duke
parents:
diff changeset
    63
.fi
90ce3da70b43 Initial load
duke
parents:
diff changeset
    64
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
    65
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
    66
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
    67
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
    68
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
    69
.nf
90ce3da70b43 Initial load
duke
parents:
diff changeset
    70
\f3
90ce3da70b43 Initial load
duke
parents:
diff changeset
    71
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
    72
    rmid \-J\-Djava.security.policy=rmid.policy
90ce3da70b43 Initial load
duke
parents:
diff changeset
    73
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
    74
\fP
90ce3da70b43 Initial load
duke
parents:
diff changeset
    75
.fi
90ce3da70b43 Initial load
duke
parents:
diff changeset
    76
90ce3da70b43 Initial load
duke
parents:
diff changeset
    77
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
    78
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
    79
\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
    80
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
    81
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
    82
Executing \f2rmid\fP by default
90ce3da70b43 Initial load
duke
parents:
diff changeset
    83
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
    84
.RS 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
    85
.TP 2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    86
*
90ce3da70b43 Initial load
duke
parents:
diff changeset
    87
starts the Activator and an internal registry on the default port, 1098, and 
90ce3da70b43 Initial load
duke
parents:
diff changeset
    88
.TP 2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    89
*
90ce3da70b43 Initial load
duke
parents:
diff changeset
    90
binds an \f2ActivationSystem\fP to the name \f2java.rmi.activation.ActivationSystem\fP in this internal registry. 
90ce3da70b43 Initial load
duke
parents:
diff changeset
    91
.RE
90ce3da70b43 Initial load
duke
parents:
diff changeset
    92
90ce3da70b43 Initial load
duke
parents:
diff changeset
    93
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
    94
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
    95
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
    96
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
    97
.nf
90ce3da70b43 Initial load
duke
parents:
diff changeset
    98
\f3
90ce3da70b43 Initial load
duke
parents:
diff changeset
    99
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   100
    rmid \-J\-Djava.security.policy=rmid.policy \-port 1099
90ce3da70b43 Initial load
duke
parents:
diff changeset
   101
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   102
\fP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   103
.fi
90ce3da70b43 Initial load
duke
parents:
diff changeset
   104
90ce3da70b43 Initial load
duke
parents:
diff changeset
   105
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   106
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   107
starts the activation system daemon and a registry on the registry's default port, 1099.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   108
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   109
.SS 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   110
Starting rmid from
90ce3da70b43 Initial load
duke
parents:
diff changeset
   111
inetd/xinetd
90ce3da70b43 Initial load
duke
parents:
diff changeset
   112
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   113
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   114
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
   115
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   116
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   117
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
   118
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   119
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   120
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
   121
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   122
.RS 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   123
.TP 2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   124
*
90ce3da70b43 Initial load
duke
parents:
diff changeset
   125
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
   126
.TP 2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   127
*
90ce3da70b43 Initial load
duke
parents:
diff changeset
   128
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
   129
.TP 2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   130
*
90ce3da70b43 Initial load
duke
parents:
diff changeset
   131
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
   132
.RE
90ce3da70b43 Initial load
duke
parents:
diff changeset
   133
90ce3da70b43 Initial load
duke
parents:
diff changeset
   134
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   135
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   136
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
   137
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   138
.SH "OPTIONS"
90ce3da70b43 Initial load
duke
parents:
diff changeset
   139
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   140
90ce3da70b43 Initial load
duke
parents:
diff changeset
   141
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   142
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   143
\-C<someCommandLineOption> 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   144
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
   145
.nf
90ce3da70b43 Initial load
duke
parents:
diff changeset
   146
\f3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   147
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   148
    rmid \-C\-Dsome.property=value
90ce3da70b43 Initial load
duke
parents:
diff changeset
   149
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   150
\fP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   151
.fi
90ce3da70b43 Initial load
duke
parents:
diff changeset
   152
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
   153
.nf
90ce3da70b43 Initial load
duke
parents:
diff changeset
   154
\f3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   155
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   156
    rmid \-C\-Djava.rmi.server.logCalls=true
90ce3da70b43 Initial load
duke
parents:
diff changeset
   157
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   158
\fP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   159
.fi
90ce3da70b43 Initial load
duke
parents:
diff changeset
   160
will enable server\-call logging in all child VMs. 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   161
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   162
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   163
\-J<someCommandLineOption> 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   164
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
   165
.nf
90ce3da70b43 Initial load
duke
parents:
diff changeset
   166
\f3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   167
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   168
    rmid \-J\-Djava.security.policy=rmid.policy
90ce3da70b43 Initial load
duke
parents:
diff changeset
   169
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   170
\fP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   171
.fi
90ce3da70b43 Initial load
duke
parents:
diff changeset
   172
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   173
90ce3da70b43 Initial load
duke
parents:
diff changeset
   174
\-J\-Dsun.rmi.activation.execPolicy=<policy> 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   175
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
   176
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   177
.RS 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   178
.TP 2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   179
*
90ce3da70b43 Initial load
duke
parents:
diff changeset
   180
\f3default (or if this property is \fP\f4unspecified\fP\f3)\fP 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   181
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   182
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
   183
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   184
\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
   185
.nf
90ce3da70b43 Initial load
duke
parents:
diff changeset
   186
\f3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   187
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   188
    \-D\fP\f4<property>\fP\f3=\fP\f4<value>\fP\f3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   189
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   190
\fP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   191
.fi
90ce3da70b43 Initial load
duke
parents:
diff changeset
   192
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   193
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
   194
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   195
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
   196
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   197
ExecPermission 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   198
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
   199
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   200
\f3Syntax\fP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   201
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
   202
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
   203
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   204
\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
   205
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   206
ExecOptionPermission 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   207
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
   208
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   209
\f3Syntax\fP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   210
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
   211
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
   212
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   213
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
   214
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   215
Policy file for
90ce3da70b43 Initial load
duke
parents:
diff changeset
   216
rmid 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   217
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
   218
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   219
An example policy file that grants various execute permissions to \f2rmid\fP is: 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   220
.nf
90ce3da70b43 Initial load
duke
parents:
diff changeset
   221
\f3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   222
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   223
grant {
90ce3da70b43 Initial load
duke
parents:
diff changeset
   224
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   225
    permission com.sun.rmi.rmid.ExecPermission
90ce3da70b43 Initial load
duke
parents:
diff changeset
   226
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   227
        "/files/apps/java/jdk1.2.2/solaris/bin/java";
90ce3da70b43 Initial load
duke
parents:
diff changeset
   228
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   229
90ce3da70b43 Initial load
duke
parents:
diff changeset
   230
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   231
    permission com.sun.rmi.rmid.ExecPermission
90ce3da70b43 Initial load
duke
parents:
diff changeset
   232
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   233
        "/files/apps/java/jdk1.2.2/solaris/bin/java_g";
90ce3da70b43 Initial load
duke
parents:
diff changeset
   234
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   235
90ce3da70b43 Initial load
duke
parents:
diff changeset
   236
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   237
    permission com.sun.rmi.rmid.ExecPermission
90ce3da70b43 Initial load
duke
parents:
diff changeset
   238
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   239
        "/files/apps/rmidcmds/*";
90ce3da70b43 Initial load
duke
parents:
diff changeset
   240
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   241
90ce3da70b43 Initial load
duke
parents:
diff changeset
   242
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   243
    permission com.sun.rmi.rmid.ExecOptionPermission
90ce3da70b43 Initial load
duke
parents:
diff changeset
   244
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   245
        "\-Djava.security.policy=/files/policies/group.policy";
90ce3da70b43 Initial load
duke
parents:
diff changeset
   246
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   247
90ce3da70b43 Initial load
duke
parents:
diff changeset
   248
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   249
    permission com.sun.rmi.rmid.ExecOptionPermission
90ce3da70b43 Initial load
duke
parents:
diff changeset
   250
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   251
        "\-Djava.security.debug=*";
90ce3da70b43 Initial load
duke
parents:
diff changeset
   252
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   253
90ce3da70b43 Initial load
duke
parents:
diff changeset
   254
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   255
    permission com.sun.rmi.rmid.ExecOptionPermission
90ce3da70b43 Initial load
duke
parents:
diff changeset
   256
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   257
        "\-Dsun.rmi.*";
90ce3da70b43 Initial load
duke
parents:
diff changeset
   258
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   259
};
90ce3da70b43 Initial load
duke
parents:
diff changeset
   260
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   261
\fP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   262
.fi
90ce3da70b43 Initial load
duke
parents:
diff changeset
   263
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
   264
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   265
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
   266
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   267
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
   268
.RS 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   269
90ce3da70b43 Initial load
duke
parents:
diff changeset
   270
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   271
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   272
\f2rmid \-J\-Djava.security.policy=rmid.policy\fP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   273
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   274
.RE
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
.TP 2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   278
*
90ce3da70b43 Initial load
duke
parents:
diff changeset
   279
\f4<policyClassName>\fP 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   280
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   281
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
   282
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   283
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
   284
.nf
90ce3da70b43 Initial load
duke
parents:
diff changeset
   285
\f3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   286
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   287
    public void checkExecCommand(ActivationGroupDesc desc,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   288
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   289
                                 String[] command)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   290
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   291
        throws SecurityException;
90ce3da70b43 Initial load
duke
parents:
diff changeset
   292
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   293
\fP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   294
.fi
90ce3da70b43 Initial load
duke
parents:
diff changeset
   295
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
   296
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   297
.TP 2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   298
*
90ce3da70b43 Initial load
duke
parents:
diff changeset
   299
\f3none\fP 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   300
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   301
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
   302
.RE
90ce3da70b43 Initial load
duke
parents:
diff changeset
   303
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   304
\-log dir 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   305
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
   306
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   307
\-port port 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   308
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
   309
.nf
90ce3da70b43 Initial load
duke
parents:
diff changeset
   310
\f3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   311
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   312
    import java.rmi.*; 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   313
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   314
    import java.rmi.activation.*;
90ce3da70b43 Initial load
duke
parents:
diff changeset
   315
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   316
90ce3da70b43 Initial load
duke
parents:
diff changeset
   317
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   318
    ActivationSystem system; system = (ActivationSystem)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   319
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   320
    Naming.lookup("//:\fP\f4port\fP/java.rmi.activation.ActivationSystem");
90ce3da70b43 Initial load
duke
parents:
diff changeset
   321
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   322
.fi
90ce3da70b43 Initial load
duke
parents:
diff changeset
   323
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   324
\-stop 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   325
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
   326
.SH "ENVIRONMENT VARIABLES"
90ce3da70b43 Initial load
duke
parents:
diff changeset
   327
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   328
90ce3da70b43 Initial load
duke
parents:
diff changeset
   329
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   330
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   331
CLASSPATH 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   332
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
   333
.nf
90ce3da70b43 Initial load
duke
parents:
diff changeset
   334
\f3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   335
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   336
    .:/usr/local/java/classes
90ce3da70b43 Initial load
duke
parents:
diff changeset
   337
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   338
\fP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   339
.fi
90ce3da70b43 Initial load
duke
parents:
diff changeset
   340
90ce3da70b43 Initial load
duke
parents:
diff changeset
   341
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   342
.SH "SEE ALSO"
90ce3da70b43 Initial load
duke
parents:
diff changeset
   343
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   344
90ce3da70b43 Initial load
duke
parents:
diff changeset
   345
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   346
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   347
rmic, CLASSPATH, java
90ce3da70b43 Initial load
duke
parents:
diff changeset
   348
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   349
90ce3da70b43 Initial load
duke
parents:
diff changeset
   350
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   351