Start

Set Defaults for NFS Mounts

In addition to the settings per each NFS mount, macOS supports general settings which take effect for all NFS mounts, i.e. they affect the whole NFS client. To review or change these settings, select the item NFS Client > Configuration on the left side of the control window. The configuration pane NFS Client Options will be displayed.

General settings

The tab item Settings allows you to get access to general settings of the NFS client.

Allow to request to perform server operations asynchronously: When no checkmark is set at that option, any attempt to establish an asynchronous connection to an NFS server (see the mount option Don’t enforce server operations to be performed asynchronously) will be ignored.

NOTE: By intention, NFS Manager does not offer a mount option to enforce asynchronous mounts. In theory, this option can be set via command-line or Directory Utility. The client setting mentioned here is an additional blockade the system administrator can use to generally prevent use of this option.

Use “access” command when fetching “getattr” data: You can specify whether the operating system should use the internal function access() in an opportunistic fetch operation every time attributes should be fetched. Under normal circumstances, applications use the function getattr() to request attributes and the function access() to determine file system permissions. However, a response to access() contains attribute data as well, so a single call to access() can make an additional call to getattr() obsolete. For this reason, replacing access() by getattr() might save time, but only if the NFS server implements access() efficiently. In modern operating systems, this might not be the case.

Memory-mapped read operations should be uninterruptible (macOS 13 or later only): macOS supports memory-mapped file access, i.e. instead of processing a file using conventional file commands, it is handled as if its entire contents resided in the processor’s Virtual Memory. When accessing memory blocks within the file, paging commands are triggered internally, which are processed directly by the processor’s Virtual Memory management. This technology is also available for network access via NFS. However, the failure of a server connection could trigger problems in the memory management of the affected process in this case, causing inconsistent states in memory. If this option is activated, macOS always treats any NFS client access with memory mapping as uninterruptible, even if a contradictory setting (see the mount option Allow hanging operations to be canceled without server response) was selected for an affected mount.

Optimize for desktop or mobile operation: The NFS standard was originally designed for networks with reliable infrastructure. With today’s mobile computers, where wireless connections may temporarily fail, the basic assumption that the network can always be relied upon may no longer be correct, however. The NFS client can be optimized for operation on a mobile computer, supporting automatic forced disconnection from servers when the following conditions are met:

The NFS client usually auto-detects what type of computer is in use and optimizes its operation accordingly. However, you can enforce a change of this policy, e.g. when a notebook computer is used as stationary system connected via Ethernet. In this case, you would switch from Detect system to Desktop system.

Maximum number of client threads (nfsiod): This option controls on how many worker threads the administrative tasks for active connections to NFS servers can be distributed.

Timeout for caching permission related information: The NFS client uses a buffer (cache) to hold user and group information as well as permission information for some time in main memory until it refetches the data from the operating system or server. The value specifies the maximum time in seconds how long cached data may assumed to be valid until it expires and has to be discarded.

Time before issuing “server down” warning: When the network connection to a server is lost, or the server is failing, the operating system will display a warning. This value specifies the time in seconds the system should wait until showing the first warning message.

Time before issuing subsequent “server down” warning: If a failing server connection doesn’t recover, the operating system may show subsequent warnings after the initial message. The time interval for subsequent warnings can be set by this value.

Timeout for initial mount connection (macOS 12 or later only): This value determines how long the NFS client should wait for a response during the initial mount request to a server.

Timeout for automounts without retry attempts (macOS 12 or later only): This also determines how long the NFS client should wait upon an initial request, but only in the special case where the mount is caused by the UNIX autofs automounter and the option for the maximum number of retry attempts is zero.

Advertised standard size of buffer for file info data: If the client calls the UNIX functions stat or statfs to request file or file system information from an NFS mount, a recommended buffer size to transfer the requested data has to be negotiated between client and server. This value is the initial default size in bytes the client will send as recommended size to the server.

Maximum rate of file info requests to send per second: This value specifies how often per second the client is allowed to call the statfs function to request file system information for an NFS mount. If the number is exceeded, the request will not be forwarded to the server but instead be answered using cached information.

Predefined port number for NFSv4 callbacks: When using NFSv4 features that require callbacks, the port number on which the server should call the client back can be specified here. A value of 0 indicates that no fixed port number should be used, but server and client can automatically choose any free port.

NFSv4 default domain name: This setting controls the default domain name that should be used when processing names (such as user account names, for example) from the NFSv4 server. When checking permissions for file access, identities from the server are defined via text strings such as e.g. username@example.com, which the client must map to local identities within its directory service context. Under normal conditions, server and client are bound to the same LDAP-based directory service, and the domain name for processing names is automatically taken from the domain name of the LDAP server. If this assumption is wrong, so the directory server’s domain name does not match the context of names used by the NFSv4 server, you must set the domain name here. The name must comply with DNS syntax rules.

Presets for mount options

macOS can define default settings for options which work as a preset for all NFS mounts (manual ones and automounts), so it will no longer be necessary to configure options for each single connection. Please note the following:

To set or change the default options click the button Change options…. The usual panel to define mount options will open. By selecting or deselecting options you can define the desired default which should be taken as preset for this computer. If you like to completely remove all preset options, hereby returning to the “empty” standard configuration, click the button Remove all overrides.

The built-in automounter of macOS supports many advanced features.
The built-in automounter of macOS supports many advanced features.

Automounter Settings

Settings affecting the automount features of macOS are available on the tab item Automounter. macOS uses the standard “autofs” subsystem which is also used on many other UNIX or Unix-like operating systems. The automounter is capable of supporting very complex setups, controlled by so-called mount maps, i.e. extended lists of automount entries which may also contain template entries and entries containing environment variables. The advanced use of mount maps is beyond the scope of NFS Manager and will not be discussed in this reference manual. Please see text books about NFS and NIS technology for further information.

Disconnect inactive shares after __ s: This option controls after what time period of inactivity the automounter should disconnect a share. The time is specified in seconds. Apple’s default setting is 1 hour (3,600 s). Many other Unix systems use a much shorter time, e.g. 10 minutes.

Don’t list disconnected shares of a mount map: When this option is set, only active (currently mounted) shares will be listed by the operating system when the folder containing the mount points is browsed by an application. It does not matter if a graphical file browser (like the Finder) or a command-line program (like ls) is used. Enabling this feature is helpful to avoid that too many automounts are triggered inadvertently, e.g. by clicking mount points in the Finder.

Enforce ignore of “set user-ID” privileges: After enabling this option, the automounter will ensure that the option to ignore the SUID flag (see the mount option Ignore “set user-ID” privileges) is always on, no matter if this setting is enabled or disabled for the different automount entries individually, or by the automounter defaults (see below).

Write mount map activity messages to system log: This feature will cause the automount process of the autofs subsystem to print more detailed information about its activities to the system log. This mainly affects reports about receiving and processing lists of automount entries via directory services.

Write automount activity messages to system log: This feature will cause the automountd process of the autofs subsystem to print more detailed information about its activities to the system log. This mainly affects reports about the actual connect and disconnect operations with file servers.

Activity trace level: The automountd process also allows tracing of all its internal operations. The level of detail can be controlled by the pop-up menu. The setting 0 won’t include any trace messages in the log. The levels 1 to 4 will add operational messages for more and more detailed aspects of process activity.

Mount Map Variables: The table allows to define environment variables which will be used when processing template-like automount entries found in the mount maps. Each variable has a name and a value. As mentioned in the introductory paragraph, advanced mount map features won’t be discussed here.

Presets for automount options

In addition to the defaults which can be set for all mounts, the operating system can also define defaults for automounts. The settings are controlled by the box Override default options to use for automatic mount requests. The behavior is exactly the same as already described in the section “Presets for mount options” above. The options finally taking effect for a final automount entry combine the defaults for mounts with the defaults for automounts and the individual settings of that entry.

NOTE: The presets apply to all automounts, not only to NFS-based ones. Other types of automatic files server connections, e.g. AFP, will be affected as well.

Save and Revert

To save your changes, click the button Apply at the bottom right corner. If necessary, macOS will ask for an administrator password. Changes may not take effect immediately. Depending on settings, you’ll have to perform a restart of the operating system to ensure that all changes become active.

By clicking Revert, all edited changes will be discarded and the previously saved configuration will be restored. You can undo all changes you have made to client settings and preset options by clicking the button Reset to defaults.