


_O_n_l_i_n_e _M_a_n_u_a_l        System Manager Commands            inetd(8c)



NNNNAAAAMMMMEEEE
     inetd - internet ``super-server''

SSSSYYYYNNNNTTTTAAAAXXXX
     ////eeeettttcccc////iiiinnnneeeettttdddd [----dddd] [_c_o_n_f_i_g_u_r_a_t_i_o_n-_f_i_l_e]

DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
     _I_n_e_t_d should be activated by the init proccess from the file
     /etc/inittab.  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).
     Essentially, _i_n_e_t_d allows running one daemon to invoke
     several others, reducing load on the system.

     Upon execution, _i_n_e_t_d reads its configuration information
     from a configuration file which, by default, is
     /_e_t_c/_i_n_e_t_d._c_o_n_f.  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
          user
          server program
          server program arguments

     The _s_e_r_v_i_c_e _n_a_m_e entry is the name of a valid service in the
     file /_e_t_c/_s_e_r_v_i_c_e_s/.  For ``internal'' services (discussed
     below), the service name _m_u_s_t be the official name of the
     service (that is, the first entry in /_e_t_c/_s_e_r_v_i_c_e_s).

     The _s_o_c_k_e_t _t_y_p_e should be one of ``stream'', ``dgram'',
     ``raw'', ``rdm'', or ``seqpacket'', depending on whether the
     socket is a stream, datagram, raw, reliably delivered mes-
     sage, or sequenced packet socket.

     The _p_r_o_t_o_c_o_l must be a valid protocol as given in
     /_e_t_c/_p_r_o_t_o_c_o_l_s.  Examples might be ``tcp'' or ``udp''.

     The _w_a_i_t/_n_o_w_a_i_t 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 _i_n_e_t_d 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.  ``Comsat'' (``biff'') and
     ``talk'' are both examples of the latter type of datagram
     server.  _T_f_t_p_d 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 _i_n_e_t_d to check for new service requests to spawn
     new servers.

     The _u_s_e_r entry should contain the user name of the user as
     whom the server should run.  This allows for servers to be
     given less permission than root.  The _s_e_r_v_e_r _p_r_o_g_r_a_m entry
     should contain the pathname of the program which is to be
     executed by _i_n_e_t_d when a request is found on its socket.
     _i_n_e_t_d allows for the first component of the pathname to be
     "$PU" (e.g. /$_P_U/_e_t_c/_f_t_p_d), which it then expands into the
     actual PU name.  If _i_n_e_t_d provides this service internally,
     this entry should be ``internal''.

     The arguments to the server program 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.

     _I_n_e_t_d 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 based.  For details
     of these services, consult the appropriate RFC from the Net-
     work Information Center.

     _I_n_e_t_d rereads its configuration file when it receives a
     hangup signal, SIGHUP.  Services may be added, deleted or
     modified when the configuration file is reread.

SSSSEEEEEEEE AAAALLLLSSSSOOOO
     System Manager Commands (8): comsat, ftpd, rexecd, rlogind,
     rshd, telnetd, tftpd

December 1990                      TX System Manager's Reference






















