Commit | Line | Data |
---|---|---|
55270cae KM |
1 | .\" Copyright (c) 1985 Regents of the University of California. |
2 | .\" All rights reserved. The Berkeley software License Agreement | |
3 | .\" specifies the terms and conditions for redistribution. | |
4 | .\" | |
f8cbfd03 | 5 | .\" @(#)inetd.8 6.4 (Berkeley) %G% |
55270cae KM |
6 | .\" |
7 | .TH INETD 8 "" | |
8 | .UC 6 | |
9 | .SH NAME | |
10 | inetd \- internet ``super\-server'' | |
11 | .SH SYNOPSIS | |
12 | .B /etc/inetd | |
13 | [ | |
14 | .B \-d | |
15 | ] [ configuration file ] | |
16 | .SH DESCRIPTION | |
17 | .I Inetd | |
18 | should be run at boot time by | |
19 | .IR /etc/rc.local . | |
20 | It then listens for connections on certain | |
21 | internet sockets. When a connection is found on one | |
22 | of its sockets, it decides what service the socket | |
23 | corresponds to, and invokes a program to service the request. | |
24 | After the program is | |
25 | finished, it continues to listen on the socket (except in some cases which | |
26 | will be described below). Essentially, | |
27 | .I inetd | |
28 | allows running one daemon to invoke several others, | |
29 | reducing load on the system. | |
30 | .PP | |
31 | Upon execution, | |
32 | .I inetd | |
33 | reads its configuration information from a configuration | |
34 | file which, by default, is | |
35 | .IR /etc/inetd.conf . | |
36 | There must be an entry for each field of the configuration | |
37 | file, with entries for each field separated by a tab or | |
38 | a space. Comments are denoted by a ``#'' at the beginning | |
39 | of a line. There must be an entry for each field. The | |
40 | fields of the configuration file are as follows: | |
41 | .br | |
42 | service name | |
43 | .br | |
44 | socket type | |
45 | .br | |
46 | protocol | |
47 | .br | |
48 | wait/nowait | |
49 | .br | |
50 | user | |
51 | .br | |
52 | server program | |
53 | .br | |
54 | server program arguments | |
55 | .PP | |
56 | The | |
57 | .I service name | |
58 | entry is the name of a valid service in | |
59 | the file | |
60 | .IR /etc/services/ . | |
61 | For ``internal'' services (discussed below), the service | |
62 | name | |
63 | .I must | |
63c183b7 | 64 | be the official name of the service (that is, the first entry in |
55270cae KM |
65 | .IR /etc/services ). |
66 | .PP | |
67 | The | |
68 | .I socket type | |
69 | should be one of ``stream'', ``dgram'', ``raw'', ``rdm'', or ``seqpacket'', | |
70 | depending on whether the socket is a stream, datagram, raw, | |
71 | reliably delivered message, or sequenced packet socket. | |
72 | .PP | |
73 | The | |
74 | .I protocol | |
75 | must be a valid protocol as given in | |
76 | .IR /etc/protocols . | |
77 | Examples might be ``tcp'' or ``udp''. | |
78 | .PP | |
79 | The | |
80 | .I wait/nowait | |
81 | entry is applicable to datagram sockets only (other sockets should | |
82 | have a ``nowait'' entry in this space). If a datagram server connects | |
83 | to its peer, freeing the socket so | |
84 | .I inetd | |
85 | can received further messages on the socket, it is said to be | |
86 | a ``multi-threaded'' server, and should use the ``nowait'' | |
87 | entry. For datagram servers which process all incoming datagrams | |
88 | on a socket and eventually time out, the server is said to be | |
63c183b7 | 89 | ``single-threaded'' and should use a ``wait'' entry. ``Comsat'' (``biff'') |
55270cae KM |
90 | and ``talk'' are both examples of the latter type of |
91 | datagram server. | |
63c183b7 MK |
92 | .I Tftpd |
93 | is an exception; it is a datagram server that establishes pseudo-connections. | |
94 | It must be listed as ``wait'' in order to avoid a race; | |
95 | the server reads the first packet, creates a new socket, | |
96 | and then forks and exits to allow | |
97 | .I inetd | |
98 | to check for new service requests to spawn new servers. | |
55270cae KM |
99 | .PP |
100 | The | |
101 | .I user | |
102 | entry should contain the user name of the user as whom the server | |
103 | should run. This allows for servers to be given less permission | |
104 | than root. | |
105 | The | |
106 | .I server program | |
107 | entry should contain the pathname of the program which is to be | |
108 | executed by | |
109 | .I inetd | |
110 | when a request is found on its socket. If | |
111 | .I inetd | |
112 | provides this service internally, this entry should | |
113 | be ``internal''. | |
114 | .PP | |
115 | The arguments to the server program should be just as they | |
116 | normally are, starting with argv[0], which is the name of | |
117 | the program. If the service is provided internally, the | |
118 | word ``internal'' should take the place of this entry. | |
119 | .PP | |
120 | .I Inetd | |
121 | provides several ``trivial'' services internally by use of | |
122 | routines within itself. These services are ``echo'', | |
123 | ``discard'', ``chargen'' (character generator), ``daytime'' | |
124 | (human readable time), and ``time'' (machine readable time, | |
125 | in the form of the number of seconds since midnight, January | |
126 | 1, 1900). All of these services are tcp based. For | |
127 | details of these services, consult the appropriate RFC | |
128 | from the Network Information Center. | |
f8cbfd03 MK |
129 | .PP |
130 | .I Inetd | |
131 | rereads its configuration file when it receives a hangup signal, SIGHUP. | |
132 | Services may be added, deleted or modified when the configuration file | |
133 | is reread. | |
55270cae KM |
134 | .SH "SEE ALSO" |
135 | comsat(8C), ftpd(8C), rexecd(8C), rlogind(8C), rshd(8C), | |
63c183b7 | 136 | telnetd(8C), tftpd(8C) |