]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - usr.sbin/nfsuserd/nfsuserd.8
zfs: merge openzfs/zfs@10e36e176
[FreeBSD/FreeBSD.git] / usr.sbin / nfsuserd / nfsuserd.8
1 .\" Copyright (c) 2009 Rick Macklem, University of Guelph
2 .\" All rights reserved.
3 .\"
4 .\" Redistribution and use in source and binary forms, with or without
5 .\" modification, are permitted provided that the following conditions
6 .\" are met:
7 .\" 1. Redistributions of source code must retain the above copyright
8 .\"    notice, this list of conditions and the following disclaimer.
9 .\" 2. Redistributions in binary form must reproduce the above copyright
10 .\"    notice, this list of conditions and the following disclaimer in the
11 .\"    documentation and/or other materials provided with the distribution.
12 .\"
13 .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
14 .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
16 .\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
17 .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
18 .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
19 .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
20 .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
21 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
22 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
23 .\" SUCH DAMAGE.
24 .\"
25 .\" $FreeBSD$
26 .\"
27 .Dd April 22, 2023
28 .Dt NFSUSERD 8
29 .Os
30 .Sh NAME
31 .Nm nfsuserd
32 .Nd load user and group information into the kernel for
33 .Tn NFSv4
34 services plus support manage-gids for all NFS versions
35 .Sh SYNOPSIS
36 .Nm nfsuserd
37 .Op Fl domain Ar domain_name
38 .Op Fl usertimeout Ar minutes
39 .Op Fl usermax Ar max_cache_size
40 .Op Fl verbose
41 .Op Fl force
42 .Op Fl manage-gids
43 .Op Ar num_servers
44 .Sh DESCRIPTION
45 .Nm
46 loads user and group information into the kernel for NFSv4.
47 For Kerberized NFSv4 mounts, it must be running on both client(s) and
48 server for correct operation.
49 For non-Kerberized NFSv4 mounts, this daemon must be running unless all
50 client(s) plus the server are configured to put uid/gid numbers in the
51 owner and owner_group strings.
52 .Pp
53 It also provides support for manage-gids and must be running on the server if
54 this is being used for any version of NFS.
55 .Pp
56 Upon startup, it loads the machine's DNS domain name, plus timeout and cache size
57 limit into the kernel.
58 It then preloads the cache with group and user information, up to the cache size
59 limit and forks off
60 .Ar num_servers
61 (default 4) children which are the servers
62 that service requests from the kernel
63 for cache misses.
64 The master is there for the sole purpose of terminating the
65 servers.
66 To stop the nfsuserd, send a SIGUSR1 to the master.
67 .Pp
68 The following options are available:
69 .Bl -tag -width Ds
70 .It Fl domain Ar domain_name
71 This option allows you to override the default DNS domain name, which
72 is acquired by taking either the suffix on the machine's hostname or,
73 if that name is not a fully qualified host name, the canonical name as
74 reported by
75 .Xr getaddrinfo 3 .
76 .It Fl usertimeout Ar minutes
77 Overrides the default timeout for cache entries, in minutes.
78 The longer the
79 time out, the better the performance, but the longer it takes for replaced
80 entries to be seen.
81 If your user/group database management system almost never re-uses the same names
82 or id numbers, a large timeout is recommended.
83 The default is 1 minute.
84 .It Fl usermax Ar max_cache_size
85 Overrides the default upper bound on the cache size.
86 The larger the cache, the more kernel memory is used, but the better the performance.
87 If your system can afford the memory use, make this the sum of the number of
88 entries in your group and password databases.
89 The default is 200 entries.
90 .It Fl verbose
91 When set, the server logs a bunch of information to syslog.
92 .It Fl force
93 This flag option must be set to restart the daemon after it has gone away
94 abnormally and refuses to start, because it thinks nfsuserd is already
95 running.
96 .It Fl manage-gids
97 This flag enables manage-gids for the NFS server
98 .Xr nfsd 8 .
99 When this is enabled, all NFS requests using
100 AUTH_SYS authentication take the uid from the RPC request
101 and uses the group list for that uid provided by
102 .Xr getgrouplist 3
103 on the server instead of the list of groups provided in the RPC authenticator.
104 This can be used to avoid the 16 group limit for AUTH_SYS.
105 .It Ar num_servers
106 Specifies how many servers to create (max 20).
107 The default of 4 may be sufficient.
108 You should run enough servers, so that
109 .Xr ps 1
110 shows almost no running time for one or two of the servers after the system
111 has been running for a long period.
112 Running too few will have a major performance impact, whereas running too many
113 will only tie up some resources, such as a process table entry and swap space.
114 .El
115 .Sh SEE ALSO
116 .Xr getgrent 3 ,
117 .Xr getgrouplist 3 ,
118 .Xr getpwent 3 ,
119 .Xr nfsv4 4 ,
120 .Xr group 5 ,
121 .Xr passwd 5 ,
122 .Xr nfsd 8
123 .Sh HISTORY
124 The
125 .Nm
126 utility was introduced with the NFSv4 experimental subsystem in 2009.
127 .Sh BUGS
128 The
129 .Nm
130 use
131 .Xr getgrent 3 ,
132 .Xr getgrouplist 3
133 and
134 .Xr getpwent 3
135 library calls to resolve requests and will hang if the servers handling
136 those requests fail and the library functions don't return.
137 See
138 .Xr group 5
139 and
140 .Xr passwd 5
141 for more information on how the databases are accessed.