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