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