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