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 .\"
  22 .Dd December 16, 2016
  23 .Dt NFS 4
  24 .Os
  25 .Sh NAME
  26 .Nm nfs
  27 .Nd NFS configuration properties
  28 .Sh DESCRIPTION
  29 The behavior of the
  30 .Xr nfsd 1M ,
  31 .Xr nfsmapid 1M ,
  32 .Xr lockd 1M ,
  33 and
  34 .Xr mountd 1M
  35 daemons and
  36 .Xr mount_nfs 1M
  37 command is controlled by property values that are stored in the Service
  38 Management Facility, smf(5).
  39 The
  40 .Xr sharectl 1M
  41 command should be used to query or change values for these properties.
  42 .Pp
  43 Changes made to
  44 .Nm
  45 property values on the
  46 .Nm nfsd ,
  47 .Nm lockd ,
  48 .Nm mountd ,
  49 or
  50 .Nm mount_nfs
  51 command line override the values set using
  52 .Xr sharectl 1M .
  53 .Pp
  54 The following list describes the properties:
  55 .Bl -tag -width Ds
  56 .It Xo
  57 .Sy client_versmin Ns = Ns Ar num
  58 .br
  59 .Sy client_versmax Ns = Ns Ar num
  60 .Xc
  61 The NFS client only uses NFS versions in the range specified by these
  62 properties.
  63 Valid values of versions are: 2, 3, and 4.
  64 Default minimum version is
  65 .Li 2 ,
  66 while default maximum is
  67 .Li 4 .
  68 .Pp
  69 You can override this range on a per-mount basis by using the
  70 .Fl o Sy vers Ns =
  71 option to
  72 .Xr mount_nfs 1M .
  73 .It Xo
  74 .Sy server_versmin Ns = Ns Ar num
  75 .br
  76 .Sy server_versmax Ns = Ns Ar num
  77 .Xc
  78 The NFS server only uses NFS versions in the range specified by these
  79 properties.
  80 Valid values of versions are: 2, 3, and 4.
  81 Default minimum version is
  82 .Li 2 ,
  83 while the default maximum version is
  84 .Li 4 .
  85 .It Sy server_delegation Ns = Ns Sy on Ns | Ns Sy off
  86 By default the NFS server provides delegations to clients.
  87 The user can turn off delegations for all exported filesystems by setting this
  88 variable to
  89 .Li off .
  90 This variable only applies to NFS Version 4.
  91 .It Sy nfsmapid_domain Ns = Ns Op Ar string
  92 By default, the
  93 .Nm nfsmapid
  94 uses the DNS domain of the system.
  95 This setting overrides the default.
  96 This domain is used for identifying user and group attribute strings in the NFS
  97 Version 4 protocol.
  98 Clients and servers must match with this domain for operation to proceed
  99 normally.
 100 This variable only applies to NFS Version 4.
 101 See
 102 .Sx Setting nfsmapid_domain
 103 below for further details.
 104 .It Sy max_connections Ns = Ns Ar num
 105 Sets the maximum number of concurrent, connection-oriented connections.
 106 The default is
 107 .Li -1
 108 .Pq unlimited .
 109 Equivalent to the
 110 .Fl c
 111 option in
 112 .Nm nfsd .
 113 .It Sy listen_backlog Ns = Ns Ar num
 114 Set connection queue length for the NFS over a connection-oriented transport.
 115 The default value is
 116 .Li 32 ,
 117 meaning 32 entries in the queue.
 118 Equivalent to the
 119 .Fl l
 120 option in
 121 .Nm nfsd .
 122 .It Sy protocol Ns = Ns Op Sy all Ns | Ns Ar protocol
 123 Start
 124 .Nm nfsd
 125 over the specified protocol only.
 126 Equivalent to the
 127 .Fl p
 128 option in
 129 .Nm nfsd .
 130 .Sy all
 131 is equivalent to
 132 .Fl a
 133 on the
 134 .Nm nfsd
 135 command line.
 136 Mutually exlusive of
 137 .Sy device .
 138 For the UDP protocol, only version 2 and version 3 service is established.
 139 NFS Version 4 is not supported for the UDP protocol.
 140 .It Sy device Ns = Ns Op Ar devname
 141 Start NFS daemon for the transport specified by the given device only.
 142 Equivalent to the
 143 .Fl t
 144 option in
 145 .Nm nfsd .
 146 Mutually exclusive of
 147 .Sy protocol .
 148 .It Sy servers Ns = Ns Ar num
 149 Maximum number of concurrent NFS requests.
 150 Equivalent to last numeric argument on the
 151 .Nm nfsd
 152 command line.
 153 The default is
 154 .Li 1024 .
 155 .It Sy lockd_listen_backlog Ns = Ns Ar num
 156 Set connection queue length for
 157 .Nm lockd
 158 over a connection-oriented transport.
 159 The default and minimum value is
 160 .Li 32 .
 161 .It Sy lockd_servers Ns = Ns Ar num
 162 Maximum number of concurrent
 163 .Nm lockd
 164 requests.
 165 The default is 256.
 166 .It Sy lockd_retransmit_timeout Ns = Ns Ar num
 167 Retransmit timeout, in seconds, before
 168 .Nm lockd
 169 retries.
 170 The default is
 171 .Li 5 .
 172 .It Sy grace_period Ns = Ns Ar num
 173 Grace period, in seconds, that all clients
 174 .Pq both NLM and NFSv4
 175 have to reclaim locks after a server reboot.
 176 This parameter also controls the NFSv4 lease interval.
 177 The default is
 178 .Li 90 .
 179 .It Sy mountd_listen_backlog Ns = Ns Ar num
 180 Set the connection queue length for
 181 .Nm mountd
 182 over a connection-oriented transport.
 183 The default value is
 184 .Li 64 .
 185 .It Sy mountd_max_threads Ns = Ns Ar num
 186 Maximum number of threads for
 187 .Nm mountd .
 188 The default value is
 189 .Li 16 .
 190 .El
 191 .Ss Setting nfsmapid_domain
 192 As described above, the setting for
 193 .Sy nfsmapid_domain
 194 overrides the domain used by
 195 .Xr nfsmapid 1M
 196 for building and comparing outbound and inbound attribute strings, respectively.
 197 This setting overrides any other mechanism for setting the NFSv4 domain.
 198 In the absence of a
 199 .Sy nfsmapid_domain
 200 setting, the
 201 .Xr nfsmapid 1M
 202 daemon determines the NFSv4 domain as follows:
 203 .Bl -bullet
 204 .It
 205 If a properly configured
 206 .Pa /etc/resolv.conf
 207 .Po see
 208 .Xr resolv.conf 4
 209 .Pc
 210 exists,
 211 .Nm nfsmapid
 212 queries specified nameserver(s) for the domain.
 213 .It
 214 If a properly configured
 215 .Pa /etc/resolv.conf
 216 .Po see
 217 .Xr resolv.conf 4
 218 .Pc
 219 exists, but the queried nameserver does not have a proper record of the domain
 220 name,
 221 .Nm nfsmapid
 222 attempts to obtain the domain name through the BIND interface
 223 .Po see
 224 .Xr resolver 3RESOLV
 225 .Pc .
 226 .It
 227 If no
 228 .Pa /etc/resolv.conf
 229 exists,
 230 .Nm nfsmapid
 231 falls back on using the configured domain name
 232 .Po see
 233 .Xr domainname 1M
 234 .Pc ,
 235 which is returned with the leading domain suffix removed.
 236 For example, for
 237 .Li widgets.sales.acme.com ,
 238 .Li sales.acme.com
 239 is returned.
 240 .It
 241 If
 242 .Pa /etc/resolv.conf
 243 does not exist, no domain name has been configured
 244 .Po or no
 245 .Pa /etc/defaultdomain
 246 exists
 247 .Pc ,
 248 .Nm nfsmapid
 249 falls back on obtaining the domain name from the host name, if the host name
 250 contains a fully qualified domain name
 251 .Pq FQDN .
 252 .El
 253 .Pp
 254 If a domainname is still not obtained following all of the preceding steps,
 255 .Nm nfsmapid
 256 will have no domain configured.
 257 This results in the following behavior:
 258 .Bl -bullet
 259 .It
 260 Outbound
 261 .Qq owner
 262 and
 263 .Qq owner_group
 264 attribute strings are encoded as literal id's.
 265 For example, the UID 12345 is encoded as
 266 .Li 12345 .
 267 .It
 268 .Nm nfsmapid
 269 ignores the
 270 .Qq domain
 271 portion of the inbound attribute string and performs name service lookups only
 272 for the user or group.
 273 If the user/group exists in the local system name service databases, then the
 274 proper uid/gid will be mapped even when no domain has been configured.
 275 .Pp
 276 This behavior implies that the same administrative user/group domain exists
 277 between NFSv4 client and server (that is, the same uid/gid's for users/groups
 278 on both client and server).
 279 In the case of overlapping id spaces, the inbound attribute string could
 280 potentially be mapped to the wrong id.
 281 However, this is not functionally different from mapping the inbound string to
 282 .Sy nobody ,
 283 yet provides greater flexibility.
 284 .El
 285 .Sh SEE ALSO
 286 .Xr lockd 1M ,
 287 .Xr mount_nfs 1M ,
 288 .Xr mountd 1M ,
 289 .Xr nfsd 1M ,
 290 .Xr nfsmapid 1M ,
 291 .Xr sharectl 1M ,
 292 .Xr smf 5