Precedence Rules

For nfsmapid to work properly, NFS Version 4 clients and servers must have the same domain. To ensure matching NFS Version 4 domains, nfsmapid follows these strict precedence rules:

  1. The daemon first checks the SMF repository for a value that has been assigned to the nfsmapid_domain parameter. If a value is found, the assigned value takes precedence over any other settings. The assigned value is appended to the outbound attribute strings and is compared against inbound attribute strings. For procedural information, see Setting Up the NFS Service.

    Note:

    The use of the NFSMAPID_DOMAIN setting is not scalable and is not recommended for large deployments.
  2. If no value has been assigned to nfsmapid_domain, then the daemon checks for a domain name from a DNS TXT RR. nfsmapid relies on directives in the /etc/resolv.conf file that are used by the set of routines in the resolver. The resolver searches through the configured DNS servers for the _nfsv4idmapdomain TXT RR. Note that the use of DNS TXT records is more scalable. For this reason, continued use of TXT records is much preferred over setting the parameter in the SMF repository.

  3. If no DNS TXT record is configured to provide a domain name, then the nfsmapid daemon uses the value specified by the domain or search directive in the /etc/resolv.conf file, with the directive specified last taking precedence.

    In the following example, both the domain and search directives are used. The nfsmapid daemon uses the first domain listed after the search directive, which is example.com.

    domain company.example.com
    search example.com corp.example.com
  4. If the /etc/resolv.conf file does not exist, nfsmapid obtains the NFS Version 4 domain name by following the behavior of the domainname command. Specifically, if the /etc/defaultdomain file exists, nfsmapid uses the contents of that file for the NFS Version 4 domain. If the /etc/defaultdomain file does not exist, nfsmapid uses the domain name that is provided by the network's configured naming service. For more information, see the domainname(8) man page.