NAME
	  rexecd - The remote execution	server

     SYNOPSIS
	  rexecd

     DESCRIPTION
	  The rexecd daemon is the server for the rexec(3) routine.
	  The server provides remote execution facilities with authen-
	  tication based on usernames and passwords.

	  The rexecd daemon listens for	service	requests at the	port
	  indicated in the exec	service	specification; see services
	  (4). When a service request is received, the following pro-
	  tocol	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 nonzero, 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 machine.

	  3.   A null-terminated username of at	most 16	bytes is
	       retrieved on the	initial	socket.

	  4.   A null-terminated, unencrypted password of at most 16
	       bytes 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.   The rexecd server 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 for 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 esta-
	       blished by rexecd.

     DIAGNOSTICS
	  Except for the last diagnostic message listed, all diagnos-
	  tic messages are returned on the initial socket, 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 bytes.

	  Password too long.
	  The password is longer than 16 bytes.

	  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 command 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.

     CAUTION
	  Indicating Login incorrect as	opposed	to Password incorrect
	  is a security	breach that allows people to probe a system
	  for users with null passwords.

     FILES
	  /usr/sbin/rexecd
	       Specifies the command path

     RELATED INFORMATION
	  Routines: rexec(3)










Acknowledgement and Disclaimer