Commit | Line | Data |
---|---|---|
ec8f24b7 | 1 | # SPDX-License-Identifier: GPL-2.0-only |
e2b329e2 AD |
2 | config NFSD |
3 | tristate "NFS server support" | |
4 | depends on INET | |
68666561 | 5 | depends on FILE_LOCKING |
65294c1f | 6 | depends on FSNOTIFY |
e2b329e2 AD |
7 | select LOCKD |
8 | select SUNRPC | |
9 | select EXPORTFS | |
10 | select NFS_ACL_SUPPORT if NFSD_V2_ACL | |
2f3a4b2a | 11 | select NFS_ACL_SUPPORT if NFSD_V3_ACL |
2813893f | 12 | depends on MULTIUSER |
e2b329e2 AD |
13 | help |
14 | Choose Y here if you want to allow other computers to access | |
15 | files residing on this system using Sun's Network File System | |
16 | protocol. To compile the NFS server support as a module, | |
17 | choose M here: the module will be called nfsd. | |
18 | ||
19 | You may choose to use a user-space NFS server instead, in which | |
20 | case you can choose N here. | |
21 | ||
22 | To export local file systems using NFS, you also need to install | |
23 | user space programs which can be found in the Linux nfs-utils | |
24 | package, available from http://linux-nfs.org/. More detail about | |
25 | the Linux NFS server implementation is available via the | |
26 | exports(5) man page. | |
27 | ||
28 | Below you can choose which versions of the NFS protocol are | |
29 | available to clients mounting the NFS server on this system. | |
2f3a4b2a | 30 | Support for NFS version 3 (RFC 1813) is always available when |
e2b329e2 AD |
31 | CONFIG_NFSD is selected. |
32 | ||
33 | If unsure, say N. | |
34 | ||
2f3a4b2a JL |
35 | config NFSD_V2 |
36 | bool "NFS server support for NFS version 2 (DEPRECATED)" | |
e2b329e2 | 37 | depends on NFSD |
2f3a4b2a JL |
38 | default n |
39 | help | |
40 | NFSv2 (RFC 1094) was the first publicly-released version of NFS. | |
41 | Unless you are hosting ancient (1990's era) NFS clients, you don't | |
42 | need this. | |
43 | ||
44 | If unsure, say N. | |
45 | ||
46 | config NFSD_V2_ACL | |
47 | bool "NFS server support for the NFSv2 ACL protocol extension" | |
48 | depends on NFSD_V2 | |
e2b329e2 | 49 | |
e2b329e2 AD |
50 | config NFSD_V3_ACL |
51 | bool "NFS server support for the NFSv3 ACL protocol extension" | |
5f9a62ff | 52 | depends on NFSD |
e2b329e2 AD |
53 | help |
54 | Solaris NFS servers support an auxiliary NFSv3 ACL protocol that | |
55 | never became an official part of the NFS version 3 protocol. | |
56 | This protocol extension allows applications on NFS clients to | |
57 | manipulate POSIX Access Control Lists on files residing on NFS | |
58 | servers. NFS servers enforce POSIX ACLs on local files whether | |
59 | this protocol is available or not. | |
60 | ||
61 | This option enables support in your system's NFS server for the | |
62 | NFSv3 ACL protocol extension allowing NFS clients to manipulate | |
63 | POSIX ACLs on files exported by your system's NFS server. NFS | |
64 | clients which support the Solaris NFSv3 ACL protocol can then | |
65 | access and modify ACLs on your NFS server. | |
66 | ||
67 | To store ACLs on your NFS server, you also need to enable ACL- | |
68 | related CONFIG options for your local file systems of choice. | |
69 | ||
70 | If unsure, say N. | |
71 | ||
72 | config NFSD_V4 | |
f987c902 KC |
73 | bool "NFS server support for NFS version 4" |
74 | depends on NFSD && PROC_FS | |
e2b329e2 | 75 | select FS_POSIX_ACL |
e57d0652 | 76 | select RPCSEC_GSS_KRB5 |
70052273 | 77 | select CRYPTO |
38a2204f | 78 | select CRYPTO_MD5 |
a2e2f2dc | 79 | select CRYPTO_SHA256 |
f7790029 | 80 | select GRACE_PERIOD |
02591f9f | 81 | select NFS_V4_2_SSC_HELPER if NFS_V4_2 |
e2b329e2 AD |
82 | help |
83 | This option enables support in your system's NFS server for | |
84 | version 4 of the NFS protocol (RFC 3530). | |
85 | ||
86 | To export files using NFSv4, you need to install additional user | |
87 | space programs which can be found in the Linux nfs-utils package, | |
88 | available from http://linux-nfs.org/. | |
89 | ||
90 | If unsure, say N. | |
65178db4 | 91 | |
9cf514cc | 92 | config NFSD_PNFS |
81c39329 CH |
93 | bool |
94 | ||
95 | config NFSD_BLOCKLAYOUT | |
96 | bool "NFSv4.1 server support for pNFS block layouts" | |
10c4de10 | 97 | depends on NFSD_V4 && BLOCK |
81c39329 | 98 | select NFSD_PNFS |
15d66ac2 | 99 | select EXPORTFS_BLOCK_OPS |
9cf514cc | 100 | help |
81c39329 CH |
101 | This option enables support for the exporting pNFS block layouts |
102 | in the kernel's NFS server. The pNFS block layout enables NFS | |
34a62493 | 103 | clients to directly perform I/O to block devices accessible to both |
81c39329 | 104 | the server and the clients. See RFC 5663 for more details. |
9cf514cc CH |
105 | |
106 | If unsure, say N. | |
107 | ||
f99d4fbd CH |
108 | config NFSD_SCSILAYOUT |
109 | bool "NFSv4.1 server support for pNFS SCSI layouts" | |
10c4de10 | 110 | depends on NFSD_V4 && BLOCK |
f99d4fbd | 111 | select NFSD_PNFS |
15d66ac2 | 112 | select EXPORTFS_BLOCK_OPS |
f99d4fbd CH |
113 | help |
114 | This option enables support for the exporting pNFS SCSI layouts | |
115 | in the kernel's NFS server. The pNFS SCSI layout enables NFS | |
34a62493 | 116 | clients to directly perform I/O to SCSI devices accessible to both |
f99d4fbd CH |
117 | the server and the clients. See draft-ietf-nfsv4-scsi-layout for |
118 | more details. | |
119 | ||
120 | If unsure, say N. | |
121 | ||
9b9960a0 TH |
122 | config NFSD_FLEXFILELAYOUT |
123 | bool "NFSv4.1 server support for pNFS Flex File layouts" | |
124 | depends on NFSD_V4 | |
125 | select NFSD_PNFS | |
126 | help | |
127 | This option enables support for the exporting pNFS Flex File | |
128 | layouts in the kernel's NFS server. The pNFS Flex File layout | |
129 | enables NFS clients to directly perform I/O to NFSv3 devices | |
34a62493 | 130 | accessible to both the server and the clients. See |
9b9960a0 TH |
131 | draft-ietf-nfsv4-flex-files for more details. |
132 | ||
133 | Warning, this server implements the bare minimum functionality | |
134 | to be a flex file server - it is for testing the client, | |
135 | not for use in production. | |
136 | ||
137 | If unsure, say N. | |
138 | ||
b9e8638e OK |
139 | config NFSD_V4_2_INTER_SSC |
140 | bool "NFSv4.2 inter server to server COPY" | |
d9092b4b | 141 | depends on NFSD_V4 && NFS_V4_2 |
b9e8638e OK |
142 | help |
143 | This option enables support for NFSv4.2 inter server to | |
144 | server copy where the destination server calls the NFSv4.2 | |
145 | client to read the data to copy from the source server. | |
146 | ||
147 | If unsure, say N. | |
148 | ||
18032ca0 DQ |
149 | config NFSD_V4_SECURITY_LABEL |
150 | bool "Provide Security Label support for NFSv4 server" | |
151 | depends on NFSD_V4 && SECURITY | |
152 | help | |
153 | ||
154 | Say Y here if you want enable fine-grained security label attribute | |
155 | support for NFS version 4. Security labels allow security modules like | |
156 | SELinux and Smack to label files to facilitate enforcement of their policies. | |
157 | Without this an NFSv4 mount will have the same label on each file. | |
158 | ||
159 | If you do not wish to enable fine-grained security labels SELinux or | |
160 | Smack policies on NFSv4 files, say N. | |
74fd4873 JL |
161 | |
162 | config NFSD_LEGACY_CLIENT_TRACKING | |
163 | bool "Support legacy NFSv4 client tracking methods (DEPRECATED)" | |
164 | depends on NFSD_V4 | |
165 | default n | |
166 | help | |
167 | The NFSv4 server needs to store a small amount of information on | |
168 | stable storage in order to handle state recovery after reboot. Most | |
169 | modern deployments upcall to a userland daemon for this (nfsdcld), | |
170 | but older NFS servers may store information directly in a | |
171 | recoverydir, or spawn a process directly using a usermodehelper | |
172 | upcall. | |
173 | ||
174 | These legacy client tracking methods have proven to be probelmatic | |
175 | and will be removed in the future. Say Y here if you need support | |
176 | for them in the interim. |