|
|
1.1 ! root 1: .TH REXECD 8C "4 March 1983" ! 2: .UC 4 ! 3: .SH NAME ! 4: rexecd \- remote execution server ! 5: .SH SYNOPSIS ! 6: .B /etc/rexecd ! 7: .SH DESCRIPTION ! 8: .I Rexecd ! 9: is the server for the ! 10: .IR rexec (3X) ! 11: routine. The server provides remote execution facilities ! 12: with authentication based on user names and encrypted ! 13: passwords. ! 14: .PP ! 15: .I Rexecd ! 16: listens for service requests at the port indicated in ! 17: the ``exec'' service specification; see ! 18: .IR services (5). ! 19: When a service request is received the following protocol ! 20: is initiated: ! 21: .IP 1) ! 22: The server reads characters from the socket up ! 23: to a null (`\e0') byte. The resultant string is ! 24: interpreted as an ASCII number, base 10. ! 25: .IP 2) ! 26: If the number received in step 1 is non-zero, ! 27: it is interpreted as the port number of a secondary ! 28: stream to be used for the ! 29: .BR stderr . ! 30: A second connection is then created to the specified ! 31: port on the client's machine. ! 32: .IP 3) ! 33: A null terminated user name of at most 16 characters ! 34: is retrieved on the initial socket. ! 35: .IP 4) ! 36: A null terminated, encrypted, password of at most ! 37: 16 characters is retrieved on the initial socket. ! 38: .IP 5) ! 39: A null terminated command to be passed to a ! 40: shell is retrieved on the initial socket. The length of ! 41: the command is limited by the upper bound on the size of ! 42: the system's argument list. ! 43: .IP 6) ! 44: .I Rexecd ! 45: then validates the user as is done at login time ! 46: and, if the authentication was successful, changes ! 47: to the user's home directory, and establishes the user ! 48: and group protections of the user. ! 49: If any of these steps fail the connection is ! 50: aborted with a diagnostic message returned. ! 51: .IP 7) ! 52: A null byte is returned on the connection associated ! 53: with the ! 54: .B stderr ! 55: and the command line is passed to the normal login ! 56: shell of the user. The ! 57: shell inherits the network connections established ! 58: by ! 59: .IR rexecd . ! 60: .SH DIAGNOSTICS ! 61: All diagnostic messages are returned on the connection ! 62: associated with the ! 63: .BR stderr , ! 64: after which any network connections are closed. ! 65: An error is indicated by a leading byte with a value of ! 66: 1 (0 is returned in step 7 above upon successful completion ! 67: of all the steps prior to the command execution). ! 68: .PP ! 69: .B ``username too long'' ! 70: .br ! 71: The name is ! 72: longer than 16 characters. ! 73: .PP ! 74: .B ``password too long'' ! 75: .br ! 76: The password is longer than 16 characters. ! 77: .PP ! 78: .B ``command too long '' ! 79: .br ! 80: The command line passed exceeds the size of the argument ! 81: list (as configured into the system). ! 82: .PP ! 83: .B ``Login incorrect.'' ! 84: .br ! 85: No password file entry for the user name existed. ! 86: .PP ! 87: .B ``Password incorrect.'' ! 88: .br ! 89: The wrong was password supplied. ! 90: .PP ! 91: .B ``No remote directory.'' ! 92: .br ! 93: The ! 94: .I chdir ! 95: command to the home directory failed. ! 96: .PP ! 97: .B ``Try again.'' ! 98: .br ! 99: A ! 100: .I fork ! 101: by the server failed. ! 102: .PP ! 103: .B ``/bin/sh: ...'' ! 104: .br ! 105: The user's login shell could not be started. ! 106: .SH BUGS ! 107: Indicating ``Login incorrect'' as opposed to ``Password incorrect'' ! 108: is a security breach which allows people to probe a system for users ! 109: with null passwords. ! 110: .PP ! 111: A facility to allow all data exchanges to be encrypted should be ! 112: present.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.