inetd [-d] [-R rate] [configfile]
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, 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.
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.
Specifies the command path. Process ID.
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) delim off