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