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 18, 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 .It Sy mountd_port Ns = Ns Ar num
 191 The IP port number on which
 192 .Nm mountd
 193 should listen.
 194 The default value is
 195 .Li 0 ,
 196 which means it should use a default binding.
 197 .It Sy statd_port Ns = Ns Ar num
 198 The IP port number on which
 199 .Nm statd
 200 should listen.
 201 The default value is
 202 .Li 0 ,
 203 which means it should use a default binding.
 204 .El
 205 .Ss Setting nfsmapid_domain
 206 As described above, the setting for
 207 .Sy nfsmapid_domain
 208 overrides the domain used by
 209 .Xr nfsmapid 1M
 210 for building and comparing outbound and inbound attribute strings, respectively.
 211 This setting overrides any other mechanism for setting the NFSv4 domain.
 212 In the absence of a
 213 .Sy nfsmapid_domain
 214 setting, the
 215 .Xr nfsmapid 1M
 216 daemon determines the NFSv4 domain as follows:
 217 .Bl -bullet
 218 .It
 219 If a properly configured
 220 .Pa /etc/resolv.conf
 221 .Po see
 222 .Xr resolv.conf 4
 223 .Pc
 224 exists,
 225 .Nm nfsmapid
 226 queries specified nameserver(s) for the domain.
 227 .It
 228 If a properly configured
 229 .Pa /etc/resolv.conf
 230 .Po see
 231 .Xr resolv.conf 4
 232 .Pc
 233 exists, but the queried nameserver does not have a proper record of the domain
 234 name,
 235 .Nm nfsmapid
 236 attempts to obtain the domain name through the BIND interface
 237 .Po see
 238 .Xr resolver 3RESOLV
 239 .Pc .
 240 .It
 241 If no
 242 .Pa /etc/resolv.conf
 243 exists,
 244 .Nm nfsmapid
 245 falls back on using the configured domain name
 246 .Po see
 247 .Xr domainname 1M
 248 .Pc ,
 249 which is returned with the leading domain suffix removed.
 250 For example, for
 251 .Li widgets.sales.acme.com ,
 252 .Li sales.acme.com
 253 is returned.
 254 .It
 255 If
 256 .Pa /etc/resolv.conf
 257 does not exist, no domain name has been configured
 258 .Po or no
 259 .Pa /etc/defaultdomain
 260 exists
 261 .Pc ,
 262 .Nm nfsmapid
 263 falls back on obtaining the domain name from the host name, if the host name
 264 contains a fully qualified domain name
 265 .Pq FQDN .
 266 .El
 267 .Pp
 268 If a domainname is still not obtained following all of the preceding steps,
 269 .Nm nfsmapid
 270 will have no domain configured.
 271 This results in the following behavior:
 272 .Bl -bullet
 273 .It
 274 Outbound
 275 .Qq owner
 276 and
 277 .Qq owner_group
 278 attribute strings are encoded as literal id's.
 279 For example, the UID 12345 is encoded as
 280 .Li 12345 .
 281 .It
 282 .Nm nfsmapid
 283 ignores the
 284 .Qq domain
 285 portion of the inbound attribute string and performs name service lookups only
 286 for the user or group.
 287 If the user/group exists in the local system name service databases, then the
 288 proper uid/gid will be mapped even when no domain has been configured.
 289 .Pp
 290 This behavior implies that the same administrative user/group domain exists
 291 between NFSv4 client and server (that is, the same uid/gid's for users/groups
 292 on both client and server).
 293 In the case of overlapping id spaces, the inbound attribute string could
 294 potentially be mapped to the wrong id.
 295 However, this is not functionally different from mapping the inbound string to
 296 .Sy nobody ,
 297 yet provides greater flexibility.
 298 .El
 299 .Sh SEE ALSO
 300 .Xr lockd 1M ,
 301 .Xr mount_nfs 1M ,
 302 .Xr mountd 1M ,
 303 .Xr nfsd 1M ,
 304 .Xr nfsmapid 1M ,
 305 .Xr sharectl 1M ,
 306 .Xr smf 5