inetd.conf -- configuration file for inetd (Internet ``super server'')


service sock_type protocol nwait user server_program server_program_args


inetd.conf is the configuration file for the inetd(ADMN) System V STREAMS TCP/IP internetworking ``super server.''

The file consists of a series of single-line entries, each entry corresponding to a service to be invoked by inetd. These services are connection-based, datagram, or ``internal.''

Internal services are those supported by the inetd program: 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 both TCP and UDP based. (For details of these services, consult the appropriate RFC from the Network Information Center: RFC 862, RFC 863, RFC 864, RFC 867, RFC 868, respectively.)

There are two types of services that inetd can start: standard and TCPMUX. A standard service has a well-known port assigned to it; it may be a service that implements an official Internet standard or it may be a UNIX-specific service. As described in RFC 1078, TCPMUX services are non-standard services that do not have a well-known port assigned to them. They are invoked from inetd when a program connects to the ``tcpmux'' well-known port and specifies the service name. This feature is useful for adding locally-developed servers.

For TCPMUX services, the value of the ``service-name'' field consists of the string tcpmux followed by a slash and the locally-chosen service name. The service names listed in /etc/services and the name ``help'' are reserved. Try to choose unique names for your TCPMUX services by prefixing them with your organization's name and suffixing them with a version number.

NOTE: If TCPMUX services are to be specified in this file, an entry with the service name ``tcpmux'' must exist in this file to turn on the TCPMUX service in the inetd server. See line 8 in the ``Example'' section. This line is in /etc/inetd.conf by default.

Each service, excluding TCPMUX services but including internal services and the ``tcpmux'' service by itself, must have a valid entry in /etc/services. In the case of an internal service, its name must correspond to the official name of the service: that is, the first field of the service entry in /etc/services. The entry for the ``tcpmux'' service itself is in /etc/services by default.

Each entry has a series of space- or tab-separated fields. (No field, except for the last one, may be omitted.) The fields are as follows:

Name of a valid service in /etc/services, as described above.

One of ``stream,'' ``dgram,'' or ``raw,'' depending on whether the socket type is stream, datagram, or raw socket (see socket(SSC)).

Name of a valid protocol (for example, ``tcp'') specified in /etc/protocols. TCPMUX services must use ``tcp''.

Must be either wait or nowait. Specifies whether the socket can be made available for new connections while there is still data waiting on the socket. The value is always nowait unless it is a datagram socket. If it is a datagram socket, the value is usually wait, although nowait is possible in some cases. (Note that tftpd is an exception in that it must have wait specified, and yet the socket can continue to process messages on the port.) TCPMUX services must use ``nowait''.

Name of the user under which the server should run. This allows servers to be run with less permission than root. If the server needs to change user IDs to another user (for example, ftpd) then its entry should have the keyword NOLUID instead of a user name.

Except in the case of internal services, full pathname of the server program to be invoked by inetd when a request is waiting on a socket. For an internal service, the value is internal.

Arguments to the server program, starting with argv[0], which is the name of the program. For an internal service, the value is internal. inetd currently allows a maximum of twenty (20) arguments per service.
Comments are denoted by a ``#'' at the beginning of a line.

The distribution inetd.conf file contains prototype entries; refer to these entries when editing the file.


ftp     stream  tcp     nowait  NOLUID  /etc/ftpd       ftpd
telnet  stream  tcp     nowait  NOLUID  /etc/telnetd    telnetd
login   stream  tcp     nowait  NOLUID  /etc/rlogind    rlogind
exec    stream  tcp     nowait  NOLUID  /etc/rexecd     rexecd
finger  stream  tcp     nowait  nouser  /etc/fingerd    fingerd
tcpmux/+date	stream tcp 	nowait	sync	/bin/date
tcpmux/phone	stream tcp 	nowait	sync	/usr/local/bin/pbook pbook
tcpmux	stream	tcp	nowait	root	internal
echo    stream  tcp     nowait  root    internal
discard stream  tcp     nowait  root    internal
chargen stream  tcp     nowait  root    internal
daytime stream  tcp     nowait  root    internal
time    stream  tcp     nowait  root    internal
echo    dgram   udp     wait    root    internal
discard dgram   udp     wait    root    internal
chargen dgram   udp     wait    root    internal
daytime dgram   udp     wait    root    internal
time    dgram   udp     wait    root    internal



See also

fingerd(ADMN), ftpd(ADMN), inetd(ADMN), protocols(SFF), rexecd(ADMN), rlogind(ADMN), rshd(ADMN), services(SFF), telnetd(ADMN), tftpd(ADMN)
© 2003 Caldera International, Inc. All rights reserved.
SCO OpenServer Release 5.0.7 -- 11 February 2003