inetd(8)





SYNOPSIS

     inetd [-d] [-q queuelength] [configuration file]


DESCRIPTION

     Inetd should be run at boot time by /etc/init.d/netbase (or /etc/rc.local
     on some systems).  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 which will be described below).  Essen­
     tially, inetd allows running one daemon to invoke several others, reduc­
     ing load on the system.

     The options available for inetd:

     -d      Turns on debugging.

     -q queuelength
             Sets the size of the socket listen queue to the specified value.
             Default is 128.

     Upon execution, inetd reads its configuration information from a configu­
     ration 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 ``#'' at the
     beginning of a line.  There must be an entry for each field.  The fields
     of the configuration file are as follows:

           service name
           socket type
           protocol
           wait/nowait[.max]
           user[.group]
           server program
           server program arguments

     To specify an Sun-RPC based service, the entry would contain these
     fields.

           service name/version
           socket type
           rpc/protocol
           wait/nowait[.max]
           user[.group]
           server program
           server program arguments

     The service-name entry is the name of a valid service in the file
     /etc/services. For ``internal'' services (discussed below), the service
     name must be the official name of the service (that is, the first entry
     in /etc/services). When used to specify a Sun-RPC based service, this
     field is a valid RPC service name in the file /etc/rpc. The part on the
     right of the ``/'' is the RPC version number. This can simply be a single
     numeric argument or a range of versions.  A range is bounded by the low
     version to the high version - ``rusers/1-3''.


     The wait/nowait entry is applicable to datagram sockets only (other sock­
     ets should have a ``nowait'' entry in this space).  If a datagram server
     connects to its peer, freeing the socket so inetd can received further
     messages on the socket, it is said to be a ``multi-threaded'' server, and
     should use the ``nowait'' entry.  For datagram servers which 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.  Com­
     sat(8) (biff(1))  and talkd(8) are both examples of the latter type of
     datagram server.  Tftpd(8) is an exception; it is a datagram server that
     establishes pseudo-connections.  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 optional ``max'' suffix (separated from
     ``wait'' or ``nowait'' by a dot) specifies the maximum number of server
     instances that may be spawned from inetd within an interval of 60 sec­
     onds. When omitted, ``max'' defaults to 40.

     The user entry should contain the user name of the user as whom the serv­
     er should run.  This allows for servers to be given less permission than
     root. An optional group name can be specified by appending a dot to the
     user name followed by the group name. This allows for servers to run with
     a different (primary) group id than specified in the password file. If a
     group is specified and user is not root, the supplementary groups associ­
     ated with that user will still be set.

     The server-program entry should contain the pathname of the program which
     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 server program arguments should be just as arguments 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.

     Inetd 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 mid­
     night, January 1, 1900).  All of these services are tcp based.  For de­
     tails of these services, consult the appropriate RFC from the Network In­
     formation Center.

     Inetd rereads its configuration file when it receives a hangup signal,
     SIGHUP. Services may be added, deleted or modified when the configuration
     file is reread.  Inetd creates a file /var/run/inetd.pid that contains
     its process identifier.


SEE ALSO

     comsat(8),  fingerd(8),  ftpd(8),  rexecd(8),  rlogind(8),  rshd(8),
     telnetd(8),  tftpd(8)


HISTORY

     The inetd command appeared in 4.3BSD. Support for Sun-RPC based services
     is modelled after that provided by SunOS 4.1.


Man(1) output converted with man2html