REXECD(1M) Series 300 Only REXECD(1M)
NAME
rexecd - remote execution server
SYNOPSIS
/etc/rexecd
HP-UX COMPATIBILITY
Level: HP-UX/NON-STANDARD
Origin: UCB
Remarks: Implemented on the Series 300 only.
DESCRIPTION
Rexecd is the server for the rexec(3X) routine; it expects
to be started by the internet daemon (see inetd(1M)).
Rexecd provides remote execution facilities with
authentication based on user account names and encrypted
passwords.
Inetd calls rexecd when a service request is received at the
port indicated for the ``exec'' service specification in
/etc/services; see services(5).
When a service request is received the following protocol is
initiated:
1) The server reads characters from the socket up to a null
(`\0') byte. The resultant string is interpreted as an
ASCII number, base 10.
2) If the number received in step 1 is non-zero, it is
interpreted as the port number of a secondary stream to
be used for the stderr. A second connection is then
created to the specified port on the client's host.
3) A null-terminated user name of at most 16 characters is
retrieved on the initial socket.
4) A null-terminated, unencrypted, password of at most 16
characters is retrieved on the initial socket.
5) A null-terminated command to be passed to a shell is
retrieved on the initial socket. The length of the
command is limited by the upper bound on the size of the
system's argument list.
6) Rexecd then validates the user as is done by login(1),
and if the authentication succeeds, changes to the user's
home directory and establishes the user and group
protections of the user. If any of these steps fail
rexecd returns a diagnostic message through the
Hewlett-Packard - 1 - (printed 7/16/86)
REXECD(1M) Series 300 Only REXECD(1M)
connection and then closes the connection.
7) A null byte is returned on the connection associated with
the stderr and the command line is passed to the normal
login shell of the user. The shell inherits the network
connections established by rexecd.
In order to run execd, the following line should be
present in /etc/inetd.conf:
exec stream tcp nowait root /etc/rexecd rexecd
SEE ALSO
rexec(3X), inetd(1M), inetd.conf(5), services(5).
DIAGNOSTICS
All diagnostic messages are returned on the connection
associated with the stderr, after which any network
connections are closed. An error is indicated by a leading
byte with a value of 1 (0 is returned in step 7 above upon
successful completion of all the steps prior to the command
execution).
Username too long
The name is longer than 16 characters.
Password too long
The password is longer than 16 characters.
Command too long
The command line passed exceeds the size of the
argument list (as configured into the system).
Login incorrect
No password file entry for the user name existed or the
wrong password was supplied.
No remote directory
The chdir command to the home directory failed.
No more processes
The server was unable to fork a process to handle the
incoming connection.
Next step: Wait a period of time and try again. If the
message persists, then the server's host may have a
runaway process that is using all the entries in the
process table.
<shellname>: ...
The user's login shell could not be started via exec(2)
for the given reason.
Hewlett-Packard - 2 - (printed 7/16/86)
REXECD(1M) Series 300 Only REXECD(1M)
WARNINGS
The authentication procedure assumes the integrity of each
client host and the connecting medium. This is insecure,
but is useful in an ``open'' environment. Note also that
any passwords are sent unencrypted through the socket
connection.
Hewlett-Packard - 3 - (printed 7/16/86)