Dico |
|
GNU Dictionary Server |
Sergey Poznyakoff |
4.3.2 Server Settings
Server settings control how dicod
is executed on the
server machine.
- Configuration: user string
Run with the privileges of this user.
Dicod
does not require root privileges, so it is recommended to always use this statement when runningdicod
in daemon mode (see Daemon Mode). The argument is either a user name, or UID prefixed with a plus sign.Example:
user nobody;
- Configuration: group list
If
user
is given,dicod
will drop all supplementary groups and switch to the principal group of that user. Sometimes, however, it may be necessary to retain one or more supplementary groups. For example, this might be necessary to access dictionary databases. Thegroup
statement retains the supplementary groups listed in list. Each group can be specified either by its name or by its GID number, prefixed with ‘+’, e.g.:user nobody; group (man, dict, +88);
This statement is ignored if
user
statement is not present or ifdicod
is running in inetd mode. See Inetd Mode.
- Configuration: mode enum
Sets server operation mode. The argument is one of:
- daemon
Run in daemon mode. See Daemon Mode, for a detailed description.
- inetd
Run in inetd mode. See Inetd Mode, for a detailed description.
This statement is overridden by the --inetd command line option. See --inetd.
- Configuration: listen list;
Specify the IP addresses and ports to listen on in daemon mode. By default,
dicod
will listen on port 2628 on all existing interfaces. Use thelisten
statement to abridge the list of interfaces to listen on, or to change the port number.Elements of list can have the following forms:
- host:port
Specifies an IP (version 4 or 6) socket to listen on. The host part is either an IPv4 in “dotted-quad” notation, or an IPv6 address in square brackets, or a host name. In the latter case,
dicod
will listen on all IP addresses corresponding to its ‘A’ or ‘AAAA’ DNS records.The port part is either a numeric port number or a symbolic service name which is found in /etc/services file.
Either of the two parts may be omitted. If host is omitted,
dicod
will listen on all interfaces. If port is omitted, it defaults to 2628. In this case the colon may be omitted, too.Examples:
listen dict.example.org:2628; listen 198.51.100.10; listen [2001:DB8::11]; listen :2628;
- inet://host:port
- inet4://host:port
Listen on IPv4 socket. The host is either an IP address or a host name. In the latter case,
dicod
will start listening on all IP addresses from the ‘A’ records for this host.Either host or port (but not both) can be omitted. Missing host defaults to IPv4 addresses on all available network interfaces, and missing port defaults to 2628.
Example:
listen inet4://198.51.100.10;
- inet6://host:port
Listen on IPv6 socket. The host is either an IPv6 address in square brackets, or a host name. In the latter case,
dicod
will start listening on all IP addresses from the ‘AAAA’ records for this host.Either host or port (but not both) can be omitted. Missing host defaults to IPv6 addresses on all available network interfaces, and missing port defaults to 2628.
Example:
listen inet6://[2001:DB8::11];
- filename
- unix://filename
Specifies the name of a UNIX socket to listen on. Filename must be an absolute file name of the socket.
- Configuration: pidfile string
Store PID of the master process in this file. Default is localstatedir/run/dicod.pid. Notice that the access bits of this default directory may be insufficient for
dicod
to write there after dropping root privileges (see user statement). One solution to this is to create a subdirectory with the same owner as given byuser
statement and to point the PID file there:pidfile /var/run/dict/dicod.pid;
Another solution is to make PID directory group-writable and to add the owner group to the
group
statement (see group statement).
- Configuration: max-children number
Sets maximum number of sub-processes that can run simultaneously. This is equivalent to the number of clients that can simultaneously use the server. The default is 64 sub-processes.
- Configuration: inactivity-timeout number
Set inactivity timeout to the number of seconds. The server disconnects automatically if the remote client has not sent any command within this number of seconds. Setting timeout to 0 disables inactivity timeout (the default).
This statement along with
max-children
allows you to control the server load.
- Configuration: shutdown-timeout number
When the master server is shutting down, wait this number of seconds for all children to terminate. Default is 5 seconds.
- Configuration: identity-check boolean
Enable identification check using AUTH protocol (RFC 1413). The received user name or UID can be shown in access log using the
%l
conversion (see Access Log).
- Configuration: ident-keyfile string
Use encryption keys from the named file to decrypt AUTH replies encrypted using DES.
- Configuration: ident-timeout number
Set timeout for AUTH input/output operation to number of seconds. Default timeout is 3 seconds.
This document was generated on September 4, 2020 using makeinfo.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.