1*4882a593Smuzhiyun# SPDX-License-Identifier: GPL-2.0-only 2*4882a593Smuzhiyunconfig NFSD 3*4882a593Smuzhiyun tristate "NFS server support" 4*4882a593Smuzhiyun depends on INET 5*4882a593Smuzhiyun depends on FILE_LOCKING 6*4882a593Smuzhiyun depends on FSNOTIFY 7*4882a593Smuzhiyun select LOCKD 8*4882a593Smuzhiyun select SUNRPC 9*4882a593Smuzhiyun select EXPORTFS 10*4882a593Smuzhiyun select NFS_ACL_SUPPORT if NFSD_V2_ACL 11*4882a593Smuzhiyun depends on MULTIUSER 12*4882a593Smuzhiyun help 13*4882a593Smuzhiyun Choose Y here if you want to allow other computers to access 14*4882a593Smuzhiyun files residing on this system using Sun's Network File System 15*4882a593Smuzhiyun protocol. To compile the NFS server support as a module, 16*4882a593Smuzhiyun choose M here: the module will be called nfsd. 17*4882a593Smuzhiyun 18*4882a593Smuzhiyun You may choose to use a user-space NFS server instead, in which 19*4882a593Smuzhiyun case you can choose N here. 20*4882a593Smuzhiyun 21*4882a593Smuzhiyun To export local file systems using NFS, you also need to install 22*4882a593Smuzhiyun user space programs which can be found in the Linux nfs-utils 23*4882a593Smuzhiyun package, available from http://linux-nfs.org/. More detail about 24*4882a593Smuzhiyun the Linux NFS server implementation is available via the 25*4882a593Smuzhiyun exports(5) man page. 26*4882a593Smuzhiyun 27*4882a593Smuzhiyun Below you can choose which versions of the NFS protocol are 28*4882a593Smuzhiyun available to clients mounting the NFS server on this system. 29*4882a593Smuzhiyun Support for NFS version 2 (RFC 1094) is always available when 30*4882a593Smuzhiyun CONFIG_NFSD is selected. 31*4882a593Smuzhiyun 32*4882a593Smuzhiyun If unsure, say N. 33*4882a593Smuzhiyun 34*4882a593Smuzhiyunconfig NFSD_V2_ACL 35*4882a593Smuzhiyun bool 36*4882a593Smuzhiyun depends on NFSD 37*4882a593Smuzhiyun 38*4882a593Smuzhiyunconfig NFSD_V3 39*4882a593Smuzhiyun bool "NFS server support for NFS version 3" 40*4882a593Smuzhiyun depends on NFSD 41*4882a593Smuzhiyun help 42*4882a593Smuzhiyun This option enables support in your system's NFS server for 43*4882a593Smuzhiyun version 3 of the NFS protocol (RFC 1813). 44*4882a593Smuzhiyun 45*4882a593Smuzhiyun If unsure, say Y. 46*4882a593Smuzhiyun 47*4882a593Smuzhiyunconfig NFSD_V3_ACL 48*4882a593Smuzhiyun bool "NFS server support for the NFSv3 ACL protocol extension" 49*4882a593Smuzhiyun depends on NFSD_V3 50*4882a593Smuzhiyun select NFSD_V2_ACL 51*4882a593Smuzhiyun help 52*4882a593Smuzhiyun Solaris NFS servers support an auxiliary NFSv3 ACL protocol that 53*4882a593Smuzhiyun never became an official part of the NFS version 3 protocol. 54*4882a593Smuzhiyun This protocol extension allows applications on NFS clients to 55*4882a593Smuzhiyun manipulate POSIX Access Control Lists on files residing on NFS 56*4882a593Smuzhiyun servers. NFS servers enforce POSIX ACLs on local files whether 57*4882a593Smuzhiyun this protocol is available or not. 58*4882a593Smuzhiyun 59*4882a593Smuzhiyun This option enables support in your system's NFS server for the 60*4882a593Smuzhiyun NFSv3 ACL protocol extension allowing NFS clients to manipulate 61*4882a593Smuzhiyun POSIX ACLs on files exported by your system's NFS server. NFS 62*4882a593Smuzhiyun clients which support the Solaris NFSv3 ACL protocol can then 63*4882a593Smuzhiyun access and modify ACLs on your NFS server. 64*4882a593Smuzhiyun 65*4882a593Smuzhiyun To store ACLs on your NFS server, you also need to enable ACL- 66*4882a593Smuzhiyun related CONFIG options for your local file systems of choice. 67*4882a593Smuzhiyun 68*4882a593Smuzhiyun If unsure, say N. 69*4882a593Smuzhiyun 70*4882a593Smuzhiyunconfig NFSD_V4 71*4882a593Smuzhiyun bool "NFS server support for NFS version 4" 72*4882a593Smuzhiyun depends on NFSD && PROC_FS 73*4882a593Smuzhiyun select NFSD_V3 74*4882a593Smuzhiyun select FS_POSIX_ACL 75*4882a593Smuzhiyun select SUNRPC_GSS 76*4882a593Smuzhiyun select CRYPTO 77*4882a593Smuzhiyun select CRYPTO_MD5 78*4882a593Smuzhiyun select CRYPTO_SHA256 79*4882a593Smuzhiyun select GRACE_PERIOD 80*4882a593Smuzhiyun help 81*4882a593Smuzhiyun This option enables support in your system's NFS server for 82*4882a593Smuzhiyun version 4 of the NFS protocol (RFC 3530). 83*4882a593Smuzhiyun 84*4882a593Smuzhiyun To export files using NFSv4, you need to install additional user 85*4882a593Smuzhiyun space programs which can be found in the Linux nfs-utils package, 86*4882a593Smuzhiyun available from http://linux-nfs.org/. 87*4882a593Smuzhiyun 88*4882a593Smuzhiyun If unsure, say N. 89*4882a593Smuzhiyun 90*4882a593Smuzhiyunconfig NFSD_PNFS 91*4882a593Smuzhiyun bool 92*4882a593Smuzhiyun 93*4882a593Smuzhiyunconfig NFSD_BLOCKLAYOUT 94*4882a593Smuzhiyun bool "NFSv4.1 server support for pNFS block layouts" 95*4882a593Smuzhiyun depends on NFSD_V4 && BLOCK 96*4882a593Smuzhiyun select NFSD_PNFS 97*4882a593Smuzhiyun select EXPORTFS_BLOCK_OPS 98*4882a593Smuzhiyun help 99*4882a593Smuzhiyun This option enables support for the exporting pNFS block layouts 100*4882a593Smuzhiyun in the kernel's NFS server. The pNFS block layout enables NFS 101*4882a593Smuzhiyun clients to directly perform I/O to block devices accesible to both 102*4882a593Smuzhiyun the server and the clients. See RFC 5663 for more details. 103*4882a593Smuzhiyun 104*4882a593Smuzhiyun If unsure, say N. 105*4882a593Smuzhiyun 106*4882a593Smuzhiyunconfig NFSD_SCSILAYOUT 107*4882a593Smuzhiyun bool "NFSv4.1 server support for pNFS SCSI layouts" 108*4882a593Smuzhiyun depends on NFSD_V4 && BLOCK 109*4882a593Smuzhiyun select NFSD_PNFS 110*4882a593Smuzhiyun select EXPORTFS_BLOCK_OPS 111*4882a593Smuzhiyun select BLK_SCSI_REQUEST 112*4882a593Smuzhiyun help 113*4882a593Smuzhiyun This option enables support for the exporting pNFS SCSI layouts 114*4882a593Smuzhiyun in the kernel's NFS server. The pNFS SCSI layout enables NFS 115*4882a593Smuzhiyun clients to directly perform I/O to SCSI devices accesible to both 116*4882a593Smuzhiyun the server and the clients. See draft-ietf-nfsv4-scsi-layout for 117*4882a593Smuzhiyun more details. 118*4882a593Smuzhiyun 119*4882a593Smuzhiyun If unsure, say N. 120*4882a593Smuzhiyun 121*4882a593Smuzhiyunconfig NFSD_FLEXFILELAYOUT 122*4882a593Smuzhiyun bool "NFSv4.1 server support for pNFS Flex File layouts" 123*4882a593Smuzhiyun depends on NFSD_V4 124*4882a593Smuzhiyun select NFSD_PNFS 125*4882a593Smuzhiyun help 126*4882a593Smuzhiyun This option enables support for the exporting pNFS Flex File 127*4882a593Smuzhiyun layouts in the kernel's NFS server. The pNFS Flex File layout 128*4882a593Smuzhiyun enables NFS clients to directly perform I/O to NFSv3 devices 129*4882a593Smuzhiyun accesible to both the server and the clients. See 130*4882a593Smuzhiyun draft-ietf-nfsv4-flex-files for more details. 131*4882a593Smuzhiyun 132*4882a593Smuzhiyun Warning, this server implements the bare minimum functionality 133*4882a593Smuzhiyun to be a flex file server - it is for testing the client, 134*4882a593Smuzhiyun not for use in production. 135*4882a593Smuzhiyun 136*4882a593Smuzhiyun If unsure, say N. 137*4882a593Smuzhiyun 138*4882a593Smuzhiyunconfig NFSD_V4_2_INTER_SSC 139*4882a593Smuzhiyun bool "NFSv4.2 inter server to server COPY" 140*4882a593Smuzhiyun depends on NFSD_V4 && NFS_V4_1 && NFS_V4_2 141*4882a593Smuzhiyun help 142*4882a593Smuzhiyun This option enables support for NFSv4.2 inter server to 143*4882a593Smuzhiyun server copy where the destination server calls the NFSv4.2 144*4882a593Smuzhiyun client to read the data to copy from the source server. 145*4882a593Smuzhiyun 146*4882a593Smuzhiyun If unsure, say N. 147*4882a593Smuzhiyun 148*4882a593Smuzhiyunconfig NFSD_V4_SECURITY_LABEL 149*4882a593Smuzhiyun bool "Provide Security Label support for NFSv4 server" 150*4882a593Smuzhiyun depends on NFSD_V4 && SECURITY 151*4882a593Smuzhiyun help 152*4882a593Smuzhiyun 153*4882a593Smuzhiyun Say Y here if you want enable fine-grained security label attribute 154*4882a593Smuzhiyun support for NFS version 4. Security labels allow security modules like 155*4882a593Smuzhiyun SELinux and Smack to label files to facilitate enforcement of their policies. 156*4882a593Smuzhiyun Without this an NFSv4 mount will have the same label on each file. 157*4882a593Smuzhiyun 158*4882a593Smuzhiyun If you do not wish to enable fine-grained security labels SELinux or 159*4882a593Smuzhiyun Smack policies on NFSv4 files, say N. 160