rexecd(8) CLIX rexecd(8)
NAME
rexecd - Runs a remote execution server
SYNOPSIS
/usr/ip32/tcpip/rexecd
DESCRIPTION
The rexecd command is the server for the rexec() function. The rexecd
server provides remote execution facilities with authentication based on
usernames and passwords.
The rexecd command listens for service requests at the port indicated in
the exec service specification (see services(4)). 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 resulting string is interpreted as an ASCII number, base 10.
2. If the number received in step 1 is nonzero, it is interpreted as the
port number of a secondary stream to be used for stderr. A second
connection is then created to the specified port on the client's
machine.
3. A null-terminated username of no more than 16 characters is retrieved
on the initial socket.
4. A null-terminated, unencrypted password of no more than 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 argument list.
6. The rexecd command then validates the user as is done at login time
and, if the authentication was successful, changes to the user's home
directory and establishes the user and group protections of the user.
If any of these steps fail, the connection is aborted with a
diagnostic message returned.
7. A null byte is returned on the initial socket and the command line is
passed to the normal login shell of the user. The shell inherits the
network connections established by the rexecd server.
EXAMPLES
The rexecd server is spawned by the inetd daemon when an rexec() request
is made (on the client side) from a user's program.
2/94 - Intergraph Corporation 1
rexecd(8) CLIX rexecd(8)
FILES
/etc/services Service name database.
DIAGNOSTICS
Except for the last diagnostic message listed, all diagnostic messages are
returned on the initial socket, after which any network connections are
closed.
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 username existed.
Password incorrect.
The wrong password was supplied.
No remote directory.
The chdir() function call to the home directory failed.
Try again.
A fork() by the server failed.
shellname: ...
The user's login shell could not be started. This message is
returned on the connection associated with stderr and is not
preceded by a flag byte.
NOTES
Indicating Login incorrect as opposed to Password incorrect is a security
breach that allows people to probe a system for users with null passwords.
A facility to allow all data and password exchanges to be encrypted should
be present.
EXIT VALUES
The rexecd command exits with a value of 0 if successful. If
unsuccessful, it exits with a nonzero value.
RELATED INFORMATION
2 Intergraph Corporation - 2/94
rexecd(8) CLIX rexecd(8)
Commands: inetd(8)
Functions: rexec(3), chdir(2), fork(2)
Files: services(4)
2/94 - Intergraph Corporation 3