| # SPDX-License-Identifier: GPL-2.0-only |
| config NFSD |
| tristate "NFS server support" |
| depends on INET |
| depends on FILE_LOCKING |
| depends on FSNOTIFY |
| select LOCKD |
| select SUNRPC |
| select EXPORTFS |
| select NFS_ACL_SUPPORT if NFSD_V2_ACL |
| select NFS_ACL_SUPPORT if NFSD_V3_ACL |
| depends on MULTIUSER |
| help |
| Choose Y here if you want to allow other computers to access |
| files residing on this system using Sun's Network File System |
| protocol. To compile the NFS server support as a module, |
| choose M here: the module will be called nfsd. |
| |
| You may choose to use a user-space NFS server instead, in which |
| case you can choose N here. |
| |
| To export local file systems using NFS, you also need to install |
| user space programs which can be found in the Linux nfs-utils |
| package, available from http://linux-nfs.org/. More detail about |
| the Linux NFS server implementation is available via the |
| exports(5) man page. |
| |
| Below you can choose which versions of the NFS protocol are |
| available to clients mounting the NFS server on this system. |
| Support for NFS version 3 (RFC 1813) is always available when |
| CONFIG_NFSD is selected. |
| |
| If unsure, say N. |
| |
| config NFSD_V2 |
| bool "NFS server support for NFS version 2 (DEPRECATED)" |
| depends on NFSD |
| default n |
| help |
| NFSv2 (RFC 1094) was the first publicly-released version of NFS. |
| Unless you are hosting ancient (1990's era) NFS clients, you don't |
| need this. |
| |
| If unsure, say N. |
| |
| config NFSD_V2_ACL |
| bool "NFS server support for the NFSv2 ACL protocol extension" |
| depends on NFSD_V2 |
| |
| config NFSD_V3_ACL |
| bool "NFS server support for the NFSv3 ACL protocol extension" |
| depends on NFSD |
| help |
| Solaris NFS servers support an auxiliary NFSv3 ACL protocol that |
| never became an official part of the NFS version 3 protocol. |
| This protocol extension allows applications on NFS clients to |
| manipulate POSIX Access Control Lists on files residing on NFS |
| servers. NFS servers enforce POSIX ACLs on local files whether |
| this protocol is available or not. |
| |
| This option enables support in your system's NFS server for the |
| NFSv3 ACL protocol extension allowing NFS clients to manipulate |
| POSIX ACLs on files exported by your system's NFS server. NFS |
| clients which support the Solaris NFSv3 ACL protocol can then |
| access and modify ACLs on your NFS server. |
| |
| To store ACLs on your NFS server, you also need to enable ACL- |
| related CONFIG options for your local file systems of choice. |
| |
| If unsure, say N. |
| |
| config NFSD_V4 |
| bool "NFS server support for NFS version 4" |
| depends on NFSD && PROC_FS |
| select FS_POSIX_ACL |
| select RPCSEC_GSS_KRB5 |
| select CRYPTO |
| select CRYPTO_MD5 |
| select CRYPTO_SHA256 |
| select GRACE_PERIOD |
| select NFS_V4_2_SSC_HELPER if NFS_V4_2 |
| help |
| This option enables support in your system's NFS server for |
| version 4 of the NFS protocol (RFC 3530). |
| |
| To export files using NFSv4, you need to install additional user |
| space programs which can be found in the Linux nfs-utils package, |
| available from http://linux-nfs.org/. |
| |
| If unsure, say N. |
| |
| config NFSD_PNFS |
| bool |
| |
| config NFSD_BLOCKLAYOUT |
| bool "NFSv4.1 server support for pNFS block layouts" |
| depends on NFSD_V4 && BLOCK |
| select NFSD_PNFS |
| select EXPORTFS_BLOCK_OPS |
| help |
| This option enables support for the exporting pNFS block layouts |
| in the kernel's NFS server. The pNFS block layout enables NFS |
| clients to directly perform I/O to block devices accessible to both |
| the server and the clients. See RFC 5663 for more details. |
| |
| If unsure, say N. |
| |
| config NFSD_SCSILAYOUT |
| bool "NFSv4.1 server support for pNFS SCSI layouts" |
| depends on NFSD_V4 && BLOCK |
| select NFSD_PNFS |
| select EXPORTFS_BLOCK_OPS |
| help |
| This option enables support for the exporting pNFS SCSI layouts |
| in the kernel's NFS server. The pNFS SCSI layout enables NFS |
| clients to directly perform I/O to SCSI devices accessible to both |
| the server and the clients. See draft-ietf-nfsv4-scsi-layout for |
| more details. |
| |
| If unsure, say N. |
| |
| config NFSD_FLEXFILELAYOUT |
| bool "NFSv4.1 server support for pNFS Flex File layouts" |
| depends on NFSD_V4 |
| select NFSD_PNFS |
| help |
| This option enables support for the exporting pNFS Flex File |
| layouts in the kernel's NFS server. The pNFS Flex File layout |
| enables NFS clients to directly perform I/O to NFSv3 devices |
| accessible to both the server and the clients. See |
| draft-ietf-nfsv4-flex-files for more details. |
| |
| Warning, this server implements the bare minimum functionality |
| to be a flex file server - it is for testing the client, |
| not for use in production. |
| |
| If unsure, say N. |
| |
| config NFSD_V4_2_INTER_SSC |
| bool "NFSv4.2 inter server to server COPY" |
| depends on NFSD_V4 && NFS_V4_2 |
| help |
| This option enables support for NFSv4.2 inter server to |
| server copy where the destination server calls the NFSv4.2 |
| client to read the data to copy from the source server. |
| |
| If unsure, say N. |
| |
| config NFSD_V4_SECURITY_LABEL |
| bool "Provide Security Label support for NFSv4 server" |
| depends on NFSD_V4 && SECURITY |
| help |
| |
| Say Y here if you want enable fine-grained security label attribute |
| support for NFS version 4. Security labels allow security modules like |
| SELinux and Smack to label files to facilitate enforcement of their policies. |
| Without this an NFSv4 mount will have the same label on each file. |
| |
| If you do not wish to enable fine-grained security labels SELinux or |
| Smack policies on NFSv4 files, say N. |
| |
| config NFSD_LEGACY_CLIENT_TRACKING |
| bool "Support legacy NFSv4 client tracking methods (DEPRECATED)" |
| depends on NFSD_V4 |
| default y |
| help |
| The NFSv4 server needs to store a small amount of information on |
| stable storage in order to handle state recovery after reboot. Most |
| modern deployments upcall to a userland daemon for this (nfsdcld), |
| but older NFS servers may store information directly in a |
| recoverydir, or spawn a process directly using a usermodehelper |
| upcall. |
| |
| These legacy client tracking methods have proven to be probelmatic |
| and will be removed in the future. Say Y here if you need support |
| for them in the interim. |