XINETD(8) XINETD(8) NAME xinetd - the extended Internet services daemon SYNOPSIS xinetd [options] DESCRIPTION xinetd performs the same function as inetd: it starts pro- grams that provide Internet services. Instead of having such servers started at system initialization time, and be dormant until a connection request arrives, xinetd is the only daemon process started and it listens on all service ports for the services listed in its configuration file. When a request comes in, xinetd starts the appropriate server. Because of the way it operates, xinetd (as well as inetd) is also referred to as a superserver. The services listed in xinetd's configuration file can be separated into two groups. Services in the first group are called multithreaded and they require the forking of a new server process for each new connection request. The new server then handles that connection. For such ser- vices, xinetd keeps listening for new requests so that it can spawn new servers. On the other hand, the second group includes services for which the service daemon is responsible for handling all new connection requests. Such services are called singlethreaded and xinetd will stop handling new requests for them until the server dies. Services in this group are usually datagrambased. So far, the only reason for the existence of a superserver was to conserve system resources by avoiding to fork a lot of processes which might be dormant for most of their lifetime. While fulfilling this function, xinetd takes advantage of the idea of a superserver to provide features such as access control and logging. Furthermore, xinetd is not limited to services listed in /etc/services. Therefore, anybody can use xinetd to start specialpurpose servers. OPTIONS -d Enables debug mode. This produces a lot of debug- ging output, and it makes it possible to use a debugger on xinetd. -syslog syslog_facility This option enables syslog logging of xinetd- produced messages using the specified syslog facil- ity. The following facility names are supported: daemon, auth, user, local[07] (check syslog.conf(5) for their meanings). This option is ineffective in debug mode since all relevant messages are sent to the terminal. -filelog logfile xinetdproduced messages will be placed in the spec- ified file. Messages are always appended to the file. If the file does not exist, it will be cre- ated. This option is ineffective in debug mode since all relevant messages are sent to the termi- nal. -f config_file Determines the file that xinetd uses for configura- tion. The default is /etc/xinetd.conf. -pidfile pid_file The process ID is written to the file. This option is ineffective in debug mode. -stayalive Tells xinetd to stay running even if no services are specified. -loop rate This option sets the loop rate beyond which a ser- vice is considered in error and is deactivated. The loop rate is specified in terms of the number of servers per second that can be forked for a pro- cess. The speed of your machine determines the correct value for this option. The default rate is 10. -reuse If this option is used, xinetd will set the socket option SO_REUSEADDR before binding the service socket to an Internet address. This allows binding of the address even if there are programs that use it, which happens when a previous instance of xinetd has started some servers that are still run- ning. This option has no effect on RPC services. -limit proc_limit This option places a limit on the number of concur- rently running processes that can be started by xinetd. Its purpose is to prevent process table overflows. -logprocs limit This option places a limit on the number of concur- rently running servers for remote userid acquisi- tion. -shutdownprocs limit This option places a limit on the number of concur- rently running servers for service shutdown (forked when the RECORD option is used). -cc interval This option instructs xinetd to perform periodic consistency checks on its internal state every interval seconds. The syslog and filelog options are mutually exclusive. If none is specified, the default is syslog using the daemon facility. You should not confuse xinetd messages with messages related to service logging. The latter are logged only if this is specified via the configuration file. CONTROLLING XINETD xinetd performs certain actions when it receives certain signals. The actions associated with the specific signals can be redefined by editing config.h and recompiling. SIGUSR2 causes a hard reconfiguration, which means that xinetd rereads the configuration file and terminates the servers for services that are no longer available are. Access control is performed again on running servers by checking the remote location, access times and server instances. If the number of server instances is lowered, some arbitrarily picked servers will be killed to satisfy the limit; this will happen after any servers are terminated because of failing the remote location or access time checks. Also, if the INTERCEPT flag was clear and is set, any running servers for that service will be terminated; the pur- pose of this is to ensure that after a hard reconfiguration there will be no running servers that can accept packets from addresses that do not meet the access con- trol criteria. SIGQUIT causes program termination. SIGTERM terminates all running servers before ter- minating xinetd. SIGHUP causes an internal state dump (the default dump file is /var/run/xinetd.dump; to change the filename, edit config.h and recompile). SIGIOT causes an internal consistency check to verify that the data structures used by the program have not been corrupted. When the check is completed xinetd will generate a message that says if the check was success- ful or not. On reconfiguration the log files are closed and reopened. This allows removal of old log files. FILES /etc/xinetd.conf default configuration file /var/run/xinetd.dump default dump file SEE ALSO inetd(8), xinetd.conf(5), xinetd.log(5) AUTHOR Panos Tsirigotis, CS Dept, University of Colorado, Boulder Rob Braun PRONUNCIATION zynetd 14 June 2001 XINETD(8)