 |
Index for Section 8 |
|
 |
Alphabetical listing for I |
|
inetd(8)
NAME
inetd - Internet super-server
SYNOPSIS
inetd [-d] [-R rate] [configfile]
FLAGS
-d Dumps debugging messages to syslogd(8) and to standard error.
-R rate Specifies the maximum number of times a service can be invoked in
one minute. The default is 2 billion (INT_MAX).
configfile
By default, this file is /etc/inetd.conf. It contains
configuration information that the daemon reads at startup.
DESCRIPTION
The inetd daemon should be run at boot time by inetd in /sbin/init.d. It
then listens for connections on certain Internet sockets. When a
connection is found on one of its sockets, it decides what service the
socket corresponds to, and invokes a program to service the request. After
the program is finished, it continues to listen on the socket (except in
some cases that are discussed later in this reference page. Essentially,
inetd allows running one daemon to invoke several others, reducing load on
the system.
Upon execution, inetd reads its configuration information from a
configuration file, which, by default, is /etc/inetd.conf. There must be
an entry for each field of the configuration file, with entries for each
field separated by a tab or a space. Comments are denoted by a # (number
sign) at the beginning of a line. There must be an entry for each field.
The fields of the configuration file are as follows:
ServiceName SocketType ProtocolName Wait/Nowait UserName \
ServerPath ServerArgs
(Note: The backslash and the continuation of information on to a second
line is for display purposes only. In the configuration file, the entries
appear on a single line.)
The ServiceName entry is the name of a valid service in the /etc/services/
file. For Internal services (discussed below), the service name must be
the official name of the service (that is, the first entry in
/etc/services).
The SocketType should be one of stream, dgram, raw, rdm, or seqpacket,
depending on whether the socket is a stream, datagram, raw, reliably
delivered message, or sequenced packet socket. You can also use xstream
and xdgram to permit the transparent mode of connections for stream and
datagram sockets, respectively. Currently, only application gateways for
firewall services use the transparent mode of connection.
The ProtocolName must be a valid protocol as given in /etc/protocols.
Examples might be tcp or udp.
The Wait/Nowait entry is applicable to datagram sockets only (other sockets
should have a NOWAIT entry in this space). If a datagram server connects
to its peer, freeing the socket so inetd can receive further messages on
the socket, it is said to be a multithreaded server, and should use the
nowait entry. For datagram servers that process all incoming datagrams on
a socket and eventually time out, the server is said to be single-threaded,
and should use a wait entry. Comsat (biff) and talk are both examples of
the latter type of datagram server. tftpd is an exception; it is a
datagram server that establishes pseudoconnections. It must be listed as
wait in order to avoid a race; the server reads the first packet, creates a
new socket, and then forks and exits to allow inetd to check for new
service requests to spawn new servers.
The UserName entry should contain the username of the user as whom the
server should run. This allows for servers to be given less permission
than root. The ServerPath entry should contain the pathname of the program
that is to be executed by inetd when a request is found on its socket. If
inetd provides this service internally, this entry should be internal.
The arguments to the ServerPath should be just as they normally are,
starting with argv[0], which is the name of the program. If the service is
provided internally, the word ``internal'' should take the place of this
entry.
The inetd daemon provides several trivial services internally by use of
routines within itself. These services are echo, discard, chargen
(character generator), daytime (human-readable time), and time (machine-
readable time, in the form of the number of seconds since midnight January
1, 1900). All of these services are tcp or udp based. (Note: These
services are initially turned off. To turn them on, you must remove the
comment leader of the service in /etc/inetd.conf and send a SIGHUP signal
to inetd.) For details of these services, consult the appropriate RFC from
the Network Information Center.
The inetd daemon rereads its configuration file when it receives a hangup
signal, SIGHUP. Services may be added, deleted, or modified when the
configuration file is reread.
You can use the inetd daemon to start RPC daemons by adding them to the
inetd.conf file. When you add an RPC service it must be followed by a
slash (/) and the range of version supported. Also, the protocol field
must consist of the string rpc followed by a slash (/) and protocol listed
in the /etc/protocols file.
RESTRICTIONS
The inetd daemon can start 500 instances of a server within an interval of
60 seconds. This feature has been added to prevent inetd from taking up all
the available process slots the system has to offer. When the limit is
reached, inetd terminates the service.
FILES
/usr/sbin/inetd
Specifies the command path.
/var/run/inetd.pid
Process ID.
RELATED INFORMATION
Commands: comsat(8)
Daemons: fingerd(8), ftpd(8), rexecd(8), rlogind(8), rpc.rquotad(8),
rpc.rstatd(8), rpc.rusersd(8), rpc.rwalld(8), rpc.sprayd(8), rshd(8),
telnetd(8), tftpd(8)