124 lines
4.2 KiB
HTML
124 lines
4.2 KiB
HTML
<HTML>
|
|
<HEAD>
|
|
<TITLE>rlogind(8)</TITLE>
|
|
</HEAD>
|
|
<BODY>
|
|
<H1>rlogind(8)</H1>
|
|
<HR>
|
|
<PRE>
|
|
|
|
</PRE>
|
|
<H2>NAME</H2><PRE>
|
|
rlogind, in.rld - remote login server
|
|
|
|
|
|
</PRE>
|
|
<H2>SYNOPSIS</H2><PRE>
|
|
<STRONG>login</STRONG> <STRONG>stream</STRONG> <STRONG>tcp</STRONG> <STRONG>nowait</STRONG> <STRONG>root</STRONG> <STRONG>/usr/sbin/in.rld</STRONG> <STRONG>in.rld</STRONG>
|
|
<STRONG>tcpd</STRONG> <STRONG>login</STRONG> <STRONG>/usr/sbin/in.rld</STRONG>
|
|
|
|
|
|
</PRE>
|
|
<H2>DESCRIPTION</H2><PRE>
|
|
<STRONG>Rlogind</STRONG> is the server for the <STRONG><A HREF="../man1/rlogin.1.html">rlogin(1)</A></STRONG> program. The server provides a
|
|
remote login facility with authentication based on privileged port
|
|
numbers from trusted hosts.
|
|
|
|
<STRONG>Rlogind</STRONG> listens for service requests at the port indicated in the
|
|
``login'' service specification; see <STRONG><A HREF="../man5/services.5.html">services(5)</A></STRONG>. When a service request
|
|
is received the following protocol is initiated:
|
|
|
|
1) The server checks the client's source port. If the port is not in
|
|
the range 0-1023, the server aborts the connection.
|
|
|
|
2) The server checks the client's source address and requests the
|
|
corresponding host name (see <STRONG><A HREF="../man3/gethostbyaddr.3.html">gethostbyaddr(3)</A></STRONG>, <STRONG><A HREF="../man5/hosts.5.html">hosts(5)</A></STRONG> and
|
|
<STRONG><A HREF="../man8/named.8.html">named(8)</A></STRONG>). If the hostname cannot be determined, the dot-notation
|
|
representation of the host address is used.
|
|
|
|
Once the source port and address have been checked, <STRONG>rlogind</STRONG> allocates a
|
|
pseudo terminal (see <STRONG><A HREF="../man4/tty.4.html">tty(4)</A></STRONG>), and manipulates file descriptors so that
|
|
the slave half of the pseudo terminal becomes the <STRONG>stdin</STRONG> <STRONG>,</STRONG> <STRONG>stdout</STRONG> <STRONG>,</STRONG> and
|
|
<STRONG>stderr</STRONG> for a login process. The login process is an instance of the
|
|
<STRONG><A HREF="../man1/login.1.html">login(1)</A></STRONG> program, invoked with the <STRONG>-r</STRONG> option. The login process then
|
|
proceeds with the authentication process as described in <STRONG><A HREF="../man8/rshd.8.html">rshd(8)</A></STRONG>, but if
|
|
automatic authentication fails, it reprompts the user to login as one
|
|
finds on a standard terminal line.
|
|
|
|
The parent of the login process manipulates the master side of the pseduo
|
|
terminal, operating as an intermediary between the login process and the
|
|
client instance of the <STRONG>rlogin</STRONG> program. In normal operation, the packet
|
|
protocol described in <STRONG><A HREF="../man4/tty.4.html">tty(4)</A></STRONG> is invoked to provide ^S/^Q type facilities
|
|
and propagate interrupt signals to the remote programs. The login
|
|
process propagates the client terminal's baud rate and terminal type, as
|
|
found in the environment variable, ``TERM''; see <STRONG><A HREF="../man7/environ.7.html">environ(7)</A></STRONG>. The screen
|
|
or window size of the terminal is requested from the client, and window
|
|
size changes from the client are propagated to the pseudo terminal.
|
|
|
|
|
|
</PRE>
|
|
<H2>SEE ALSO</H2><PRE>
|
|
<STRONG><A HREF="../man1/rlogin.1.html">rlogin(1)</A></STRONG>.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</PRE>
|
|
<H2>DIAGNOSTICS</H2><PRE>
|
|
All diagnostic messages are returned on the connection associated with
|
|
the <STRONG>stderr</STRONG>, after which any network connections are closed. An error is
|
|
indicated by a leading byte with a value of 1.
|
|
|
|
<STRONG>``Try</STRONG> <STRONG>again.''</STRONG>
|
|
A <STRONG>fork</STRONG> by the server failed.
|
|
|
|
<STRONG>``/bin/sh:</STRONG> <STRONG>...''</STRONG>
|
|
The user's login shell could not be started.
|
|
|
|
|
|
</PRE>
|
|
<H2>BUGS</H2><PRE>
|
|
The authentication procedure used here assumes the integrity of each
|
|
client machine and the connecting medium. This is insecure, but is
|
|
useful in an ``open'' environment.
|
|
|
|
A facility to allow all data exchanges to be encrypted should be present.
|
|
|
|
A more extensible protocol should be used.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</PRE>
|
|
</BODY>
|
|
</HTML>
|