Recipe 3.5 Adding a New Service (xinetd)

3.5.1 Problem

You want to add a new network service, controlled by xinetd.

3.5.2 Solution

Create a new configuration file in /etc/xinetd.d with at least the following information:

service SERVICE_NAME                       Name from /etc/services; see services(5)
{
        server = /PATH/TO/SERVER           The service executable
        server_args = ANY_ARGS_HERE        Any arguments; omit if none
        user = USER                        Run the service as this user
        socket_type = TYPE                 stream, dgram, raw, or seqpacket
        wait = YES/NO                      yes = single-threaded, no = multithreaded
}

Name the file SERVICE_NAME. Then signal xinetd to read your new service file. [Recipe 3.3]

3.5.3 Discussion

To create an xinetd configuration file for your service, you must of course know your service's desired properties and behavior. Is it stream based? Datagram based? Single-threaded or multithreaded? What arguments does the server executable take, if any?

xinetd configuration files have a tremendous number of additional keywords and values. See xinetd.conf(5) for full details.

xinetd reads all files in /etc/xinetd.d only if /etc/xinetd.conf tells it to, via this line:

includedir /etc/xinetd.d

Check your /etc/xinetd.conf to confirm the location of its includedir.

3.5.4 See Also

xinetd(8), xinetd.conf(5), services(5). The xinetd home page is http://www.synack.net/xinetd.



    Chapter 9. Testing and Monitoring