xref: /illumos-gate/usr/src/man/man5/nfs.5 (revision 02b17e23cf5bf66a5ea787e066ae3d1aa49bd856)
1.\"
2.\" The contents of this file are subject to the terms of the
3.\" Common Development and Distribution License (the "License").
4.\" You may not use this file except in compliance with the License.
5.\"
6.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
7.\" or http://www.opensolaris.org/os/licensing.
8.\" See the License for the specific language governing permissions
9.\" and limitations under the License.
10.\"
11.\" When distributing Covered Code, include this CDDL HEADER in each
12.\" file and include the License file at usr/src/OPENSOLARIS.LICENSE.
13.\" If applicable, add the following below this CDDL HEADER, with the
14.\" fields enclosed by brackets "[]" replaced with your own identifying
15.\" information: Portions Copyright [yyyy] [name of copyright owner]
16.\"
17.\"
18.\" Copyright 1989 AT&T
19.\" Copyright (c) 2004, Sun Microsystems, Inc. All Rights Reserved.
20.\" Copyright 2016 Nexenta Systems, Inc.
21.\" Copyright 2020 Joyent, Inc.
22.\"
23.Dd November 22, 2021
24.Dt NFS 5
25.Os
26.Sh NAME
27.Nm nfs
28.Nd NFS configuration properties
29.Sh DESCRIPTION
30The behavior of the
31.Xr nfsd 8 ,
32.Xr nfsmapid 8 ,
33.Xr lockd 8 ,
34and
35.Xr mountd 8
36daemons and
37.Xr mount_nfs 8
38command is controlled by property values that are stored in the Service
39Management Facility, smf(7).
40The
41.Xr sharectl 8
42command should be used to query or change values for these properties.
43.Pp
44Changes made to
45.Nm
46property values on the
47.Nm nfsd ,
48.Nm lockd ,
49.Nm mountd ,
50or
51.Nm mount_nfs
52command line override the values set using
53.Xr sharectl 8 .
54.Pp
55The following list describes the properties:
56.Bl -tag -width Ds
57.It Xo
58.Sy client_versmin Ns = Ns Ar num
59.br
60.Sy client_versmax Ns = Ns Ar num
61.Xc
62The NFS client only uses NFS versions in the range specified by these
63properties.
64Valid values of versions are: 2, 3, and 4.
65Default minimum version is
66.Li 2 ,
67while default maximum is
68.Li 4 .
69.Pp
70You can override this range on a per-mount basis by using the
71.Fl o Sy vers Ns =
72option to
73.Xr mount_nfs 8 .
74.It Xo
75.Sy server_versmin Ns = Ns Ar num
76.br
77.Sy server_versmax Ns = Ns Ar num
78.Xc
79The NFS server only uses NFS versions in the range specified by these
80properties.
81Valid values of versions are: 2, 3, and 4.
82Default minimum version is
83.Li 2 ,
84while the default maximum version is
85.Li 4 .
86.It Sy server_delegation Ns = Ns Sy on Ns | Ns Sy off
87By default the NFS server provides delegations to clients.
88The user can turn off delegations for all exported filesystems by setting this
89variable to
90.Li off .
91This variable only applies to NFS Version 4.
92.It Sy nfsmapid_domain Ns = Ns Op Ar string
93By default, the
94.Nm nfsmapid
95uses the DNS domain of the system.
96This setting overrides the default.
97This domain is used for identifying user and group attribute strings in the NFS
98Version 4 protocol.
99Clients and servers must match with this domain for operation to proceed
100normally.
101This variable only applies to NFS Version 4.
102See
103.Sx Setting nfsmapid_domain
104below for further details.
105.It Sy max_connections Ns = Ns Ar num
106Sets the maximum number of concurrent, connection-oriented connections.
107The default is
108.Li -1
109.Pq unlimited .
110Equivalent to the
111.Fl c
112option in
113.Nm nfsd .
114.It Sy listen_backlog Ns = Ns Ar num
115Set connection queue length for the NFS over a connection-oriented transport.
116The default value is
117.Li 32 ,
118meaning 32 entries in the queue.
119Equivalent to the
120.Fl l
121option in
122.Nm nfsd .
123.It Sy protocol Ns = Ns Op Sy all Ns | Ns Ar protocol
124Start
125.Nm nfsd
126over the specified protocol only.
127Equivalent to the
128.Fl p
129option in
130.Nm nfsd .
131.Sy all
132is equivalent to
133.Fl a
134on the
135.Nm nfsd
136command line.
137Mutually exclusive of
138.Sy device .
139For the UDP protocol, only version 2 and version 3 service is established.
140NFS Version 4 is not supported for the UDP protocol.
141.It Sy device Ns = Ns Op Ar devname
142Start NFS daemon for the transport specified by the given device only.
143Equivalent to the
144.Fl t
145option in
146.Nm nfsd .
147Mutually exclusive of
148.Sy protocol .
149.It Sy servers Ns = Ns Ar num
150Maximum number of concurrent NFS requests.
151Equivalent to last numeric argument on the
152.Nm nfsd
153command line.
154The default is
155.Li 1024 .
156.It Sy lockd_listen_backlog Ns = Ns Ar num
157Set connection queue length for
158.Nm lockd
159over a connection-oriented transport.
160The default and minimum value is
161.Li 32 .
162.It Sy lockd_servers Ns = Ns Ar num
163Maximum number of concurrent
164.Nm lockd
165requests.
166The default is 256.
167.It Sy lockd_retransmit_timeout Ns = Ns Ar num
168Retransmit timeout, in seconds, before
169.Nm lockd
170retries.
171The default is
172.Li 5 .
173.It Sy grace_period Ns = Ns Ar num
174Grace period, in seconds, that all clients
175.Pq both NLM and NFSv4
176have to reclaim locks after a server reboot.
177This parameter also controls the NFSv4 lease interval.
178The default is
179.Li 90 .
180.It Sy mountd_listen_backlog Ns = Ns Ar num
181Set the connection queue length for
182.Nm mountd
183over a connection-oriented transport.
184The default value is
185.Li 64 .
186.It Sy mountd_max_threads Ns = Ns Ar num
187Maximum number of threads for
188.Nm mountd .
189The default value is
190.Li 16 .
191.It Sy mountd_port Ns = Ns Ar num
192The IP port number on which
193.Nm mountd
194should listen.
195The default value is
196.Li 0 ,
197which means it should use a default binding.
198.It Sy statd_port Ns = Ns Ar num
199The IP port number on which
200.Nm statd
201should listen.
202The default value is
203.Li 0 ,
204which means it should use a default binding.
205.El
206.Ss Setting nfsmapid_domain
207As described above, the setting for
208.Sy nfsmapid_domain
209overrides the domain used by
210.Xr nfsmapid 8
211for building and comparing outbound and inbound attribute strings, respectively.
212This setting overrides any other mechanism for setting the NFSv4 domain.
213In the absence of a
214.Sy nfsmapid_domain
215setting, the
216.Xr nfsmapid 8
217daemon determines the NFSv4 domain as follows:
218.Bl -bullet
219.It
220If a properly configured
221.Pa /etc/resolv.conf
222.Po see
223.Xr resolv.conf 5
224.Pc
225exists,
226.Nm nfsmapid
227queries specified nameserver(s) for the domain.
228.It
229If a properly configured
230.Pa /etc/resolv.conf
231.Po see
232.Xr resolv.conf 5
233.Pc
234exists, but the queried nameserver does not have a proper record of the domain
235name,
236.Nm nfsmapid
237attempts to obtain the domain name through the BIND interface
238.Po see
239.Xr resolver 3RESOLV
240.Pc .
241.It
242If no
243.Pa /etc/resolv.conf
244exists,
245.Nm nfsmapid
246falls back on using the configured domain name
247.Po see
248.Xr domainname 8
249.Pc ,
250which is returned with the leading domain suffix removed.
251For example, for
252.Li widgets.sales.example.com ,
253.Li sales.example.com
254is returned.
255.It
256If
257.Pa /etc/resolv.conf
258does not exist, no domain name has been configured
259.Po or no
260.Pa /etc/defaultdomain
261exists
262.Pc ,
263.Nm nfsmapid
264falls back on obtaining the domain name from the host name, if the host name
265contains a fully qualified domain name
266.Pq FQDN .
267.El
268.Pp
269If a domainname is still not obtained following all of the preceding steps,
270.Nm nfsmapid
271will have no domain configured.
272This results in the following behavior:
273.Bl -bullet
274.It
275Outbound
276.Qq owner
277and
278.Qq owner_group
279attribute strings are encoded as literal id's.
280For example, the UID 12345 is encoded as
281.Li 12345 .
282.It
283.Nm nfsmapid
284ignores the
285.Qq domain
286portion of the inbound attribute string and performs name service lookups only
287for the user or group.
288If the user/group exists in the local system name service databases, then the
289proper uid/gid will be mapped even when no domain has been configured.
290.Pp
291This behavior implies that the same administrative user/group domain exists
292between NFSv4 client and server (that is, the same uid/gid's for users/groups
293on both client and server).
294In the case of overlapping id spaces, the inbound attribute string could
295potentially be mapped to the wrong id.
296However, this is not functionally different from mapping the inbound string to
297.Sy nobody ,
298yet provides greater flexibility.
299.El
300.Sh ZONES
301NFS can be served out of a non-global zone.
302All of the above documentation applies to an in-zone NFS server.
303File sharing in zones is restricted to filesystems a zone completely controls.
304Some zone brands (see
305.Xr brands 7 )
306do not give the zone's root its own filesystem, for example.
307Delegated ZFS datasets to a zone are shareable, as well as lofs-remounted
308directories.
309The zone must have sys_nfs privileges; most brands grant this already.
310.Sh SEE ALSO
311.Xr brands 7 ,
312.Xr smf 7 ,
313.Xr zones 7 ,
314.Xr lockd 8 ,
315.Xr mount_nfs 8 ,
316.Xr mountd 8 ,
317.Xr nfsd 8 ,
318.Xr nfsmapid 8 ,
319.Xr sharectl 8
320