This file contains site-specific configuration for various NFS daemons and other processes. Most configuration can also be passed to processes via command line arguments, but it can be more convenient to have a central file. In particular, this encourages consistent configuration across different processes.
When command line options are provided, they override values set in this file. When this file does not specify a particular parameter, and no command line option is provided, each tool provides its own default values.
The file format supports multiple sections, each of which can contain multiple value assignments. A section is introduced by a line containing the section name enclosed in square brackets, so
would introduce a section called global. A value assignment is a single line that has the name of the value, an equals sign, and a setting for the value, so
threads = 4
would set the value named threads in the current section to 4. Leading and trailing spaces and tab are ignored, as are spaces and tabs surrounding the equals sign. Single and double quotes surrounding the assigned value are also removed. If the resulting string is empty, the whole assignment is ignored.
Any line starting with “#” or “;” is ignored, as is any blank line.
If the assigned value started with a “$” then the remainder is treated as a name and looked for in the section [environment] or in the processes environment (see environ(7)). The value found is used for this value.
The value name include is special. If a section contains
include = /some/file/name
then the named file will be read, and any value assignments found there-in will be added to the current section. If the file contains section headers, then new sections will be created just as if the included file appeared in place of the include line. If the file name starts with a hyphen then that is stripped off before the file is opened, and if file doesn't exist no warning is given. Normally a non-existent include file generates a warning.
Lookup of section and value names is case-insensitive.
Where a Boolean value is expected, any of true, t, yes, y, on, or 1 can be used for "true", while false, f, no, n, off, or 0 can be used for "false". Comparisons are case-insensitive.
The following sections are known to various programs, and can contain the given named values. Most sections can also contain a debug value, which can be one or more from the list general, call, auth, parse, all. When a list is given, the members should be comma-separated. The values 0 and 1 are also accepted, with '0' making no changes to the debug level, and '1' equivalent to specifying 'all'.
Recognized values: pipefs-directory.
See blkmapd(8), rpc.idmapd(8), and rpc.gssd(8) for details.
Recognized values: rootdir.
Setting rootdir to a valid path causes the nfs server to act as if the supplied path is being prefixed to all the exported entries. For instance, if rootdir=/my/root, and there is an entry in /etc/exports for /filesystem, then the client will be able to mount the path as /filesystem, but on the server, this will resolve to the path /my/root/filesystem.
Recognized values: manage-gids, threads, cache-use-ipaddr, ttl, state-directory-path
See exportd(8) for details.
Note that setting "debug = auth" for exportd is equivalent to providing the --log-auth option.
Recognized values: storagedir.
The nfsdcltrack program is run directly by the Linux kernel and there is no opportunity to provide command line arguments, so the configuration file is the only way to configure this program. See nfsdcltrack(8) for details.
Recognized values: threads, host, scope, port, grace-time, lease-time, udp, tcp, vers3, vers4, vers4.0, vers4.1, vers4.2, rdma,
Version and protocol values are Boolean values as described above, and are also used by rpc.mountd. Threads and the two times are integers. port and rdma are service names or numbers. See rpc.nfsd(8) for details.
Recognized values: manage-gids, descriptors, port, threads, reverse-lookup, cache-use-ipaddr, ttl, state-directory-path, ha-callout.
These, together with the protocol and version values in the [nfsd] section, are used to configure mountd. See rpc.mountd(8) for details.
Note that setting "debug = auth" for mountd is equivalent to providing the --log-auth option.
The state-directory-path value in the [mountd] section is also used by exportfs(8).
Recognized values: port, outgoing-port, name, state-directory-path, ha-callout.
See rpc.statd(8) for details.
Recognized values: port and udp-port.
See rpc.statd(8) for details.
Recognized values: retry-time, outgoing-port, and outgoing-addr.
See sm-notify(8) for details.
Recognized values: verbosity, rpc-verbosity, use-memcache, use-machine-creds, use-gss-proxy, avoid-dns, limit-to-legacy-enctypes, context-timeout, rpc-timeout, keytab-file, cred-cache-directory, preferred-realm, set-home.
See rpc.gssd(8) for details.
Recognized values: principal.
See rpc.svcgssd(8) for details.
Only debug= is recognized.
Recognized values: nfs, nfsv4, default.
See nfsrahead(5) for deatils.
Default NFS client configuration file
When this directory exists and files ending with ".conf" exist, those files will be used to set configuration variables. These files will override variables set in /etc/nfs.conf
nfsdcltrack(8), rpc.nfsd(8), rpc.mountd(8), nfsmount.conf(5).
blkmapd(8), exportfs(8), idmapd(8), mountd(8), nfsd(8), nfsrahead(5), nfs.systemd(7).