3.5. Adding a New Service (xinetd)

Problem

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

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]

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.

See Also

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

Get Linux Security Cookbook now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.