Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (4.2BSD)
Apropos / Subsearch:
optional field

REXECD(8C)                                                          REXECD(8C)

       rexecd - remote execution server


       Rexecd  is  the  server for the rexec(3X) routine.  The server provides
       remote execution facilities with authentication based on user names and
       encrypted passwords.

       Rexecd  listens  for  service  requests  at  the  port indicated in the
       ``exec''  service  specification;  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 machine.

       3)     A null  terminated  user  name  of  at  most  16  characters  is
              retrieved on the initial socket.

       4)     A  null terminated, encrypted, 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 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 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  estab-
              lished by rexecd.

       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  com-
       mand 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 con-
       figured into the system).

       ``Login incorrect.''
       No password file entry for the user name existed.

       ``Password incorrect.''
       The wrong was password supplied.

       ``No remote directory.''
       The chdir command to the home directory failed.

       ``Try again.''
       A fork by the server failed.

       ``/bin/sh: ...''
       The user's login shell could not be started.

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

       A facility to allow all  data  exchanges  to  be  encrypted  should  be

4th Berkeley Distribution        4 March 1983                       REXECD(8C)