|
|
1.1 ! root 1: .\" Copyright (c) 1983 The Regents of the University of California. ! 2: .\" All rights reserved. ! 3: .\" ! 4: .\" Redistribution and use in source and binary forms are permitted provided ! 5: .\" that: (1) source distributions retain this entire copyright notice and ! 6: .\" comment, and (2) distributions including binaries display the following ! 7: .\" acknowledgement: ``This product includes software developed by the ! 8: .\" University of California, Berkeley and its contributors'' in the ! 9: .\" documentation or other materials provided with the distribution and in ! 10: .\" all advertising materials mentioning features or use of this software. ! 11: .\" Neither the name of the University nor the names of its contributors may ! 12: .\" be used to endorse or promote products derived from this software without ! 13: .\" specific prior written permission. ! 14: .\" THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED ! 15: .\" WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF ! 16: .\" MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ! 17: .\" ! 18: .\" @(#)rexecd.8 6.4 (Berkeley) 6/24/90 ! 19: .\" ! 20: .TH REXECD 8 "June 24, 1990" ! 21: .UC 5 ! 22: .SH NAME ! 23: rexecd \- remote execution server ! 24: .SH SYNOPSIS ! 25: .B rexecd ! 26: .SH DESCRIPTION ! 27: .I Rexecd ! 28: is the server for the ! 29: .IR rexec (3) ! 30: routine. The server provides remote execution facilities ! 31: with authentication based on user names and ! 32: passwords. ! 33: .PP ! 34: .I Rexecd ! 35: listens for service requests at the port indicated in ! 36: the ``exec'' service specification; see ! 37: .IR services (5). ! 38: When a service request is received the following protocol ! 39: is initiated: ! 40: .IP 1) ! 41: The server reads characters from the socket up ! 42: to a null (`\e0') byte. The resultant string is ! 43: interpreted as an ASCII number, base 10. ! 44: .IP 2) ! 45: If the number received in step 1 is non-zero, ! 46: it is interpreted as the port number of a secondary ! 47: stream to be used for the ! 48: .BR stderr . ! 49: A second connection is then created to the specified ! 50: port on the client's machine. ! 51: .IP 3) ! 52: A null terminated user name of at most 16 characters ! 53: is retrieved on the initial socket. ! 54: .IP 4) ! 55: A null terminated, unencrypted password of at most ! 56: 16 characters is retrieved on the initial socket. ! 57: .IP 5) ! 58: A null terminated command to be passed to a ! 59: shell is retrieved on the initial socket. The length of ! 60: the command is limited by the upper bound on the size of ! 61: the system's argument list. ! 62: .IP 6) ! 63: .I Rexecd ! 64: then validates the user as is done at login time ! 65: and, if the authentication was successful, changes ! 66: to the user's home directory, and establishes the user ! 67: and group protections of the user. ! 68: If any of these steps fail the connection is ! 69: aborted with a diagnostic message returned. ! 70: .IP 7) ! 71: A null byte is returned on the initial socket ! 72: and the command line is passed to the normal login ! 73: shell of the user. The ! 74: shell inherits the network connections established ! 75: by ! 76: .IR rexecd . ! 77: .SH DIAGNOSTICS ! 78: Except for the last one listed below, ! 79: all diagnostic messages are returned on the initial socket, ! 80: after which any network connections are closed. ! 81: An error is indicated by a leading byte with a value of ! 82: 1 (0 is returned in step 7 above upon successful completion ! 83: of all the steps prior to the command execution). ! 84: .PP ! 85: .B ``username too long'' ! 86: .br ! 87: The name is ! 88: longer than 16 characters. ! 89: .PP ! 90: .B ``password too long'' ! 91: .br ! 92: The password is longer than 16 characters. ! 93: .PP ! 94: .B ``command too long '' ! 95: .br ! 96: The command line passed exceeds the size of the argument ! 97: list (as configured into the system). ! 98: .PP ! 99: .B ``Login incorrect.'' ! 100: .br ! 101: No password file entry for the user name existed. ! 102: .PP ! 103: .B ``Password incorrect.'' ! 104: .br ! 105: The wrong was password supplied. ! 106: .PP ! 107: .B ``No remote directory.'' ! 108: .br ! 109: The ! 110: .I chdir ! 111: command to the home directory failed. ! 112: .PP ! 113: .B ``Try again.'' ! 114: .br ! 115: A ! 116: .I fork ! 117: by the server failed. ! 118: .PP ! 119: .B ``<shellname>: ...'' ! 120: .br ! 121: The user's login shell could not be started. ! 122: This message is returned ! 123: on the connection associated with the ! 124: .BR stderr , ! 125: and is not preceded by a flag byte. ! 126: .SH SEE ALSO ! 127: rexec(3) ! 128: .SH BUGS ! 129: Indicating ``Login incorrect'' as opposed to ``Password incorrect'' ! 130: is a security breach which allows people to probe a system for users ! 131: with null passwords. ! 132: .PP ! 133: A facility to allow all data and password exchanges to be encrypted should be ! 134: present.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.