No empty .Rs/.Re
[netbsd-mini2440.git] / libexec / rlogind / rlogind.8
bloba767b1747c9f999c93fe0f6164b50836da2f5889
1 .\"     $NetBSD: rlogind.8,v 1.16 2004/07/17 18:32:23 wiz Exp $
2 .\"
3 .\" Copyright (c) 1983, 1989, 1991, 1993
4 .\"     The Regents of the University of California.  All rights reserved.
5 .\"
6 .\" Redistribution and use in source and binary forms, with or without
7 .\" modification, are permitted provided that the following conditions
8 .\" are met:
9 .\" 1. Redistributions of source code must retain the above copyright
10 .\"    notice, this list of conditions and the following disclaimer.
11 .\" 2. Redistributions in binary form must reproduce the above copyright
12 .\"    notice, this list of conditions and the following disclaimer in the
13 .\"    documentation and/or other materials provided with the distribution.
14 .\" 3. Neither the name of the University nor the names of its contributors
15 .\"    may be used to endorse or promote products derived from this software
16 .\"    without specific prior written permission.
17 .\"
18 .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
19 .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21 .\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
22 .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
23 .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
24 .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
25 .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
26 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
27 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
28 .\" SUCH DAMAGE.
29 .\"
30 .\"     from: @(#)rlogind.8     8.1 (Berkeley) 6/4/93
31 .\"
32 .Dd July 17, 2004
33 .Dt RLOGIND 8
34 .Os
35 .Sh NAME
36 .Nm rlogind
37 .Nd remote login server
38 .Sh SYNOPSIS
39 .Nm
40 .Op Fl alnL
41 .Sh DESCRIPTION
42 .Nm
43 is the server for the
44 .Xr rlogin 1
45 program.
46 The server provides a remote login facility with authentication
47 based on privileged port numbers from trusted hosts.
48 .Pp
49 Options supported by
50 .Nm :
51 .Bl -tag -width Ds
52 .It Fl a
53 Ask hostname for verification.
54 .It Fl l
55 Prevent any authentication based on the user's
56 .Dq Pa .rhosts
57 file, unless the user is logging in as the superuser.
58 .It Fl n
59 Disable keep-alive messages.
60 .It Fl L
61 Log all successful accesses to
62 .Xr syslogd 8
64 .Li auth.info
65 messages.
66 .El
67 .Pp
68 .Nm
69 listens for service requests at the port indicated in
70 the ``login'' service specification; see
71 .Xr services 5 .
72 When a service request is received the following protocol is initiated:
73 .Bl -enum
74 .It
75 The server checks the client's source port.
76 If the port is not in the range 512-1023, the server
77 aborts the connection.
78 .It
79 The server checks the client's source address
80 and requests the corresponding host name (see
81 .Xr getnameinfo 3 ,
82 .Xr hosts 5
83 and
84 .Xr named 8 ) .
85 If the hostname cannot be determined,
86 the dot-notation representation of the host address is used.
87 If the hostname is in the same domain as the server (according to
88 the last two components of the domain name),
89 or if the
90 .Fl a
91 option is given,
92 the addresses for the hostname are requested,
93 verifying that the name and address correspond.
94 Normal authentication is bypassed if the address verification fails.
95 .El
96 .Pp
97 Once the source port and address have been checked,
98 .Nm
99 proceeds with the authentication process described in
100 .Xr rshd 8 .
101 It then allocates a pseudo terminal (see
102 .Xr pty 4 ) ,
103 and manipulates file descriptors so that the slave
104 half of the pseudo terminal becomes the
105 .Em stdin ,
106 .Em stdout ,
108 .Em stderr
109 for a login process.
110 The login process is an instance of the
111 .Xr login 1
112 program, invoked with the
113 .Fl f
114 option if authentication has succeeded.
115 If automatic authentication fails, the user is
116 prompted to log in as if on a standard terminal line.
118 The parent of the login process manipulates the master side of
119 the pseudo terminal, operating as an intermediary
120 between the login process and the client instance of the
121 .Xr rlogin 1
122 program.
123 In normal operation, the packet protocol described in
124 .Xr pty 4
125 is invoked to provide
126 .Ql ^S/^Q
127 type facilities and propagate
128 interrupt signals to the remote programs.
129 The login process propagates the client terminal's baud rate and
130 terminal type, as found in the environment variable,
131 .Ql Ev TERM ;
133 .Xr environ 7 .
134 The screen or window size of the terminal is requested from the client,
135 and window size changes from the client are propagated to the pseudo terminal.
137 Transport-level keepalive messages are enabled unless the
138 .Fl n
139 option is present.
140 The use of keepalive messages allows sessions to be timed out
141 if the client crashes or becomes unreachable.
143 At the end of a login session,
145 invokes the
146 .Xr ttyaction 3
147 facility with an action of "rlogind" and user "root"
148 to execute site-specific commands.
149 .Sh DIAGNOSTICS
150 All initial diagnostic messages are indicated
151 by a leading byte with a value of 1,
152 after which any network connections are closed.
153 If there are no errors before
154 .Xr login 1
155 is invoked, a null byte is returned as in indication of success.
156 .Bl -tag -width Ds
157 .It Sy Try again.
159 .Xr fork 2
160 by the server failed.
162 .Sh SEE ALSO
163 .Xr login 1 ,
164 .Xr ruserok 3 ,
165 .Xr ttyaction 3 ,
166 .Xr rshd 8
167 .Sh HISTORY
170 command appeared in
171 .Bx 4.2 .
172 .Sh BUGS
173 The authentication procedure used here assumes the integrity
174 of each client machine and the connecting medium.
175 This is insecure, but is useful in an ``open'' environment.
177 A facility to allow all data exchanges to be encrypted should be
178 present.
180 A more extensible protocol should be used.
183 intentionally rejects accesses from IPv4 mapped address on top of
184 .Dv AF_INET6
185 socket, since IPv4 mapped address complicates host-address based
186 authentication.
187 If you would like to accept connections from IPv4 peers, you will need to run
189 on top of
190 .Dv AF_INET
191 socket, not
192 .Dv AF_INET6
193 socket.