8322 nl: misleading-indentation
[unleashed/tickless.git] / usr / src / man / man1 / rsh.1
blobe839e14c8d75680584d64f273bdfc6fdec2b1c1b
1 '\" te
2 .\" Copyright 1989 AT&T
3 .\" Copyright (c) 2008, Sun Microsystems, Inc. All Rights Reserved
4 .\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License").  You may not use this file except in compliance with the License.
5 .\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.  See the License for the specific language governing permissions and limitations under the License.
6 .\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE.  If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
7 .TH RSH 1 "Dec 23, 2008"
8 .SH NAME
9 rsh, remsh, remote_shell \- remote shell
10 .SH SYNOPSIS
11 .LP
12 .nf
13 \fBrsh\fR [\fB-n\fR] [\fB-a\fR] [\fB-K\fR] [\fB-PN\fR | \fB-PO\fR] [\fB-x\fR] [\fB-f\fR | \fB-F\fR] [\fB-l\fR \fIusername\fR]
14      [\fB-k\fR \fIrealm\fR] \fIhostname\fR \fIcommand\fR
15 .fi
17 .LP
18 .nf
19 \fBrsh\fR \fIhostname\fR [\fB-n\fR] [\fB-a\fR] [\fB-K\fR] [\fB-PN\fR | \fB-PO\fR] [\fB-x\fR] [\fB-f\fR | \fB-F\fR]
20      [\fB-l\fR \fIusername\fR] [\fB-k\fR \fIrealm\fR] \fIcommand\fR
21 .fi
23 .LP
24 .nf
25 \fBremsh\fR [\fB-n\fR] [\fB-a\fR] [\fB-K\fR] [\fB-PN\fR | \fB-PO\fR] [\fB-x\fR] [\fB-f\fR | \fB-F\fR] [\fB-l\fR \fIusername\fR]
26      [\fB-k\fR \fIrealm\fR] \fIhostname\fR \fIcommand\fR
27 .fi
29 .LP
30 .nf
31 \fBremsh\fR \fIhostname\fR [\fB-n\fR] [\fB-a\fR] [\fB-K\fR] [\fB-PN\fR | \fB-PO\fR] [\fB-x\fR] [\fB-f\fR | \fB-F\fR]
32      [\fB-l\fR \fIusername\fR] [\fB-k\fR \fIrealm\fR] \fIcommand\fR
33 .fi
35 .LP
36 .nf
37  \fIhostname\fR [\fB-n\fR] [\fB-a\fR] [\fB-PN\fR | \fB-PO\fR] [\fB-x\fR] [\fB-f\fR | \fB-F\fR]
38      [\fB-l\fR \fIusername\fR] [\fB-k\fR \fIrealm\fR] \fIcommand\fR
39 .fi
41 .SH DESCRIPTION
42 .sp
43 .LP
44 The \fBrsh\fR utility connects to the specified \fIhostname\fR and executes the
45 specified \fIcommand\fR. \fBrsh\fR copies its standard input to the remote
46 command, the standard output of the remote command to its standard output, and
47 the standard error of the remote command to its standard error. Interrupt,
48 quit, and terminate signals are propagated to the remote command. \fBrsh\fR
49 normally terminates when the remote command does.
50 .sp
51 .LP
52 The user can opt for a secure session of \fBrsh\fR which uses Kerberos V5 for
53 authentication. Encryption of the network session traffic is also possible. The
54 \fBrsh\fR session can be kerberized using any of the following Kerberos
55 specific options: \fB-a\fR, \fB-PN\fR or \fB-PO\fR, \fB-x\fR, \fB-f\fR or
56 \fB-F\fR, and \fB-k\fR \fIrealm\fR. Some of these options (\fB-a\fR, \fB-x\fR,
57 \fB-PN\fR or \fB-PO\fR, and \fB-f\fR or \fB-F\fR) can also be specified in the
58 \fB[appdefaults]\fR section of \fBkrb5.conf\fR(4). The usage of these options
59 and the expected behavior is discussed in the OPTIONS section below. If
60 Kerberos authentication is used, authorization to the account is controlled by
61 rules in \fBkrb5_auth_rules\fR(5). If this authorization fails, fallback to
62 normal \fBrsh\fR using \fBrhosts\fR occurs only if the \fB-PO\fR option is used
63 explicitly on the command line or is specified in \fBkrb5.conf\fR(4). Also, the
64 \fB-PN\fR or \fB-PO\fR, \fB-x\fR, \fB-f\fR or \fB-F\fR, and \fB-k\fR
65 \fIrealm\fR options are just supersets of the \fB-a\fR option.
66 .sp
67 .LP
68 If you omit \fIcommand\fR, instead of executing a single command, \fBrsh\fR
69 logs you in on the remote host using \fBrlogin\fR(1).
70 .sp
71 .LP
72 \fBrsh\fR does not return the exit status code of \fIcommand\fR.
73 .sp
74 .LP
75 Shell metacharacters which are not quoted are interpreted on the local machine,
76 while quoted metacharacters are interpreted on the remote machine. See
77 EXAMPLES.
78 .sp
79 .LP
80 If there is no locale setting in the initialization file of the login shell
81 (\fB\&.cshrc\fR, . . .) for a particular user, \fBrsh\fR always executes the
82 command in the "C" locale instead of using the default locale of the remote
83 machine.
84 .sp
85 .LP
86 The command is sent unencrypted to the remote system. All subsequent network
87 session traffic is encrypted. See \fB-x\fR.
88 .SH OPTIONS
89 .sp
90 .LP
91 The following options are supported:
92 .sp
93 .ne 2
94 .na
95 \fB\fB-a\fR\fR
96 .ad
97 .RS 15n
98 Explicitly enable Kerberos authentication and trusts the \fB\&.k5login\fR file
99 for access-control. If the authorization check by \fBin.rshd\fR(1M) on the
100 server-side succeeds and if the \fB\&.k5login\fR file permits access, the user
101 is allowed to carry out the command.
105 .ne 2
107 \fB\fB-f\fR\fR
109 .RS 15n
110 Forward a copy of the local credentials (Kerberos Ticket Granting Ticket) to
111 the remote system. This is a non-forwardable ticket granting ticket. Forward a
112 ticket granting ticket if you need to authenticate yourself to other Kerberized
113 network services on the remote host. An example would be if your home directory
114 on the remote host is \fBNFS\fR mounted by way of Kerberos V5. If your local
115 credentials are not forwarded in this case, you cannot access your home
116 directory. This option is mutually exclusive with the \fB-F\fR option.
120 .ne 2
122 \fB\fB-F\fR\fR
124 .RS 15n
125 Forward a forwardable copy of the local credentials (Kerberos Ticket Granting
126 Ticket) to the remote system. The \fB-F\fR option provides a superset of the
127 functionality offered by the \fB-f\fR option. For example, with the \fB-f\fR
128 option, if, after you connected to the remote host, your remote command
129 attempted to invoke \fB/usr/bin/ftp\fR, \fB/usr/bin/telnet\fR,
130 \fB/usr/bin/rlogin\fR, or \fB/usr/bin/rsh\fR, with the \fB-f\fR or \fB-F\fR
131 options, the attempt would fail. Thus, you would be unable to push your single
132 network sign on trust beyond one system. This option is mutually exclusive with
133 the \fB-f\fR option.
137 .ne 2
139 \fB\fB-k\fR \fIrealm\fR\fR
141 .RS 15n
142 Causes \fBrsh\fR to obtain tickets for the remote host in \fIrealm\fR instead
143 of the remote host's realm as determined by \fBkrb5.conf\fR(4).
147 .ne 2
149 \fB\fB-K\fR\fR
151 .RS 15n
152 This option explicitly disables Kerberos authentication. It can be used to
153 override the \fBautologin\fR variable in \fBkrb5.conf\fR(4).
157 .ne 2
159 \fB\fB\fR\fB-l\fR \fIusername\fR\fR
161 .RS 15n
162 Uses \fIusername\fR as the remote username instead of your local username. In
163 the absence of this option, the remote username is the same as your local
164 username.
168 .ne 2
170 \fB\fB-n\fR\fR
172 .RS 15n
173 Redirect the input of \fBrsh\fR to \fB/dev/null\fR. You sometimes need this
174 option to avoid unfortunate interactions between \fBrsh\fR and the shell which
175 invokes it. For example, if you are running \fBrsh\fR and invoke a \fBrsh\fR in
176 the background without redirecting its input away from the terminal, it blocks
177 even if no reads are posted by the remote command. The \fB-n\fR option prevents
178 this.
182 .ne 2
184 \fB\fB-PO\fR\fR
188 \fB\fB-PN\fR\fR
190 .RS 15n
191 Explicitly request new (\fB-PN\fR) or old (\fB-PO\fR) version of the Kerberos
192 "\fBrcmd\fR" protocol. The new protocol avoids many security problems prevalant
193 in the old one and is regarded much more secure, but is not interoperable with
194 older (MIT/SEAM) servers. The new protocol is used by default, unless
195 explicitly specified using these options or through \fBkrb5.conf\fR(4). If
196 Kerberos authorization fails when using the old "\fBrcmd\fR" protocol, there is
197 fallback to regular, non-kerberized \fBrsh\fR. This is not the case when the
198 new, more secure "\fBrcmd\fR" protocol is used.
202 .ne 2
204 \fB\fB-x\fR\fR
206 .RS 15n
207 Cause the network session traffic to be encrypted. See \fBDESCRIPTION\fR.
212 The type of remote shell (\fBsh\fR, \fBrsh\fR, or other) is determined by the
213 user's entry in the file \fB/etc/passwd\fR on the remote system.
214 .SH OPERANDS
217 The following operand is supported:
219 .ne 2
221 \fB\fIcommand\fR\fR
223 .RS 11n
224 The command to be executed on the specified \fIhostname\fR.
227 .SH USAGE
230 See \fBlargefile\fR(5) for the description of the behavior of \fBrsh\fR and
231 \fBremsh\fR when encountering files greater than or equal to 2 Gbyte ( 2^31
232 bytes).
235 The \fBrsh\fR and \fBremsh\fR commands are IPv6-enabled. See \fBip6\fR(7P).
236 \fBIPv6\fR is not currently supported with Kerberos V5 authentication.
239 Hostnames are given in the \fIhosts\fR database, which can be contained in the
240 \fB/etc/hosts\fR file, the Internet domain name database, or both. Each host
241 has one official name (the first name in the database entry) and optionally one
242 or more nicknames. Official hostnames or nicknames can be given as
243 \fIhostname\fR.
246 If the name of the file from which \fBrsh\fR is executed is anything other than
247 \fBrsh\fR, \fBrsh\fR takes this name as its \fIhostname\fR argument. This
248 allows you to create a symbolic link to \fBrsh\fR in the name of a host which,
249 when executed, invokes a remote shell on that host. By creating a directory and
250 populating it with symbolic links in the names of commonly used hosts, then
251 including the directory in your shell's search path, you can run \fBrsh\fR by
252 typing \fIhostname\fR to your shell.
255 If \fBrsh\fR is invoked with the basename \fBremsh\fR, \fBrsh\fR checks for the
256 existence of the file \fB/usr/bin/remsh\fR. If this file exists, \fBrsh\fR
257 behaves as if \fBremsh\fR is an alias for \fBrsh\fR. If \fB/usr/bin/remsh\fR
258 does not exist, \fBrsh\fR behaves as if \fBremsh\fR is a host name.
261 For the kerberized \fBrsh\fR session, each user can have a private
262 authorization list in a file \fB\&.k5login\fR in their home directory. Each
263 line in this file should contain a Kerberos principal name of the form
264 \fIprincipal\fR/\fIinstance\fR@\fIrealm\fR. If there is a \fB~/.k5login\fR
265 file, then access is granted to the account if and only if the originater user
266 is authenticated to one of the principals named in the \fB~/.k5login\fR file.
267 Otherwise, the originating user is granted access to the account if and only if
268 the authenticated principal name of the user can be mapped to the local account
269 name using the \fIauthenticated-principal-name\fR \(-> \fIlocal-user-name\fR
270 mapping rules. The \fB\&.k5login\fR file (for access control) comes into play
271 only when Kerberos authentication is being done.
274 For the non-secure \fBrsh\fR session, each remote machine can have a file named
275 \fB/etc/hosts.equiv\fR containing a list of trusted hostnames with which it
276 shares usernames. Users with the same username on both the local and remote
277 machine can run \fBrsh\fR from the machines listed in the remote machine's
278 \fB/etc/hosts.equiv\fR file. Individual users can set up a similar private
279 equivalence list with the file .rhosts in their home directories. Each line in
280 this file contains two names: a hostname and a username separated by a space.
281 The entry permits the user named username who is logged into hostname to use
282 rsh to access the remote machine as the remote user. If the name of the local
283 host is not found in the \fB/etc/hosts.equiv\fR file on the remote machine, and
284 the local username and hostname are not found in the remote user's
285 \fB\&.rhosts\fR file, then the access is denied. The hostnames listed in the
286 \fB/etc/hosts.equiv\fR and \fB\&.rhosts\fR files must be the official hostnames
287 listed in the \fBhosts\fR database; nicknames can not be used in either of
288 these files.
291 You cannot log in using \fBrsh\fR as a trusted user from a trusted hostname if
292 the trusted user account is locked.
295 \fBrsh\fR does not prompt for a password if access is denied on the remote
296 machine unless the \fIcommand\fR argument is omitted.
297 .SH EXAMPLES
299 \fBExample 1 \fRUsing rsh to Append Files
302 The following command appends the remote file \fBlizard.file\fR from the
303 machine called \fBlizard\fR to the file called \fBexample.file\fR on the
304 machine called \fBexample\fR:
307 .in +2
309 example% \fBrsh lizard cat lizard.file >> example.file\fR
311 .in -2
316 The following command appends the file \fBlizard.file\fR on the machine called
317 \fBlizard\fR to the file \fBlizard.file2\fR which also resides on the machine
318 called \fBlizard\fR:
321 .in +2
323 example% \fBrsh lizard cat lizard.file ">>" lizard.file2\fR
325 .in -2
328 .SH EXIT STATUS
331 The following exit values are returned:
333 .ne 2
335 \fB\fB0\fR\fR
337 .RS 5n
338 Successful completion.
342 .ne 2
344 \fB\fB1\fR\fR
346 .RS 5n
347 An error occurred.
350 .SH FILES
352 .ne 2
354 \fB\fB/etc/hosts\fR\fR
356 .RS 23n
357 Internet host table
361 .ne 2
363 \fB\fB/etc/hosts.equiv\fR\fR
365 .RS 23n
366 Trusted remote hosts and users
370 .ne 2
372 \fB\fB/etc/passwd\fR\fR
374 .RS 23n
375 System password file
379 .ne 2
381 \fB\fB$HOME/.k5login\fR\fR
383 .RS 23n
384 File containing Kerberos principals that are allowed access
388 .ne 2
390 \fB\fB/etc/krb5/krb5.conf\fR\fR
392 .RS 23n
393 Kerberos configuration file
396 .SH ATTRIBUTES
399 See \fBattributes\fR(5) for descriptions of the following attributes:
404 box;
405 c | c
406 l | l .
407 ATTRIBUTE TYPE  ATTRIBUTE VALUE
409 CSI     Enabled
412 .SH SEE ALSO
415 \fBon\fR(1), \fBrlogin\fR(1), \fBssh\fR(1), \fBtelnet\fR(1), \fBvi\fR(1),
416 \fBin.rshd\fR(1M), \fBhosts\fR(4), \fBhosts.equiv\fR(4), \fBkrb5.conf\fR(4),
417 \fBattributes\fR(5), \fBkrb5_auth_rules\fR(5), \fBlargefile\fR(5),
418 \fBip6\fR(7P)
419 .SH NOTES
422 When a system is listed in \fBhosts.equiv\fR, its security must be as good as
423 local security. One insecure system listed in \fBhosts.equiv\fR can compromise
424 the security of the entire system.
427 You cannot run an interactive command (such as \fBvi\fR(1)). Use \fBrlogin\fR
428 if you wish to do this.
431 Stop signals stop the local \fBrsh\fR process only. This is arguably wrong, but
432 currently hard to fix for reasons too complicated to explain here.
435 The current local environment is not passed to the remote shell.
438 Sometimes the \fB-n\fR option is needed for reasons that are less than obvious.
439 For example, the command:
441 .in +2
443 example% \fBrsh somehost dd if=/dev/nrmt0 bs=20b | tar xvpBf \(mi\fR
445 .in -2
450 puts your shell into a strange state. Evidently, the \fBtar\fR process
451 terminates before the \fBrsh\fR process. The \fBrsh\fR command then tries to
452 write into the ``broken pipe'' and, instead of terminating neatly, proceeds to
453 compete with your shell for its standard input. Invoking \fBrsh\fR with the
454 \fB-n\fR option avoids such incidents.
457 This bug occurs only when \fBrsh\fR is at the beginning of a pipeline and is
458 not reading standard input. Do not use the \fB-n\fR option if \fBrsh\fR
459 actually needs to read standard input. For example:
461 .in +2
463 example% \fBtar cf \(mi . | rsh sundial dd of=/dev/rmt0 obs=20b\fR
465 .in -2
470 does not produce the bug. If you were to use the \fB-n\fR option in a case like
471 this, \fBrsh\fR would incorrectly read from \fB/dev/null\fR instead of from the
472 pipe.
475 For most purposes, \fBssh\fR(1) is preferred over \fBrsh\fR.