1config CIFS
   2        tristate "CIFS support (advanced network filesystem, SMBFS successor)"
   3        depends on INET
   4        select NLS
   5        select CRYPTO
   6        select CRYPTO_MD4
   7        select CRYPTO_MD5
   8        select CRYPTO_HMAC
   9        select CRYPTO_ARC4
  10        select CRYPTO_ECB
  11        select CRYPTO_DES
  12        select CRYPTO_SHA256
  13        select CRYPTO_CMAC
  14        help
  15          This is the client VFS module for the Common Internet File System
  16          (CIFS) protocol which is the successor to the Server Message Block
  17          (SMB) protocol, the native file sharing mechanism for most early
  18          PC operating systems.  The CIFS protocol is fully supported by
  19          file servers such as Windows 2000 (including Windows 2003, Windows 2008,
  20          NT 4 and Windows XP) as well by Samba (which provides excellent CIFS
  21          server support for Linux and many other operating systems). Limited
  22          support for OS/2 and Windows ME and similar servers is provided as
  23          well.
  25          The module also provides optional support for the followon
  26          protocols for CIFS including SMB3, which enables
  27          useful performance and security features (see the description
  28          of CONFIG_CIFS_SMB2).
  30          The cifs module provides an advanced network file system
  31          client for mounting to CIFS compliant servers.  It includes
  32          support for DFS (hierarchical name space), secure per-user
  33          session establishment via Kerberos or NTLM or NTLMv2,
  34          safe distributed caching (oplock), optional packet
  35          signing, Unicode and other internationalization improvements.
  36          If you need to mount to Samba or Windows from this machine, say Y.
  38config CIFS_STATS
  39        bool "CIFS statistics"
  40        depends on CIFS
  41        help
  42          Enabling this option will cause statistics for each server share
  43          mounted by the cifs client to be displayed in /proc/fs/cifs/Stats
  45config CIFS_STATS2
  46        bool "Extended statistics"
  47        depends on CIFS_STATS
  48        help
  49          Enabling this option will allow more detailed statistics on SMB
  50          request timing to be displayed in /proc/fs/cifs/DebugData and also
  51          allow optional logging of slow responses to dmesg (depending on the
  52          value of /proc/fs/cifs/cifsFYI, see fs/cifs/README for more details).
  53          These additional statistics may have a minor effect on performance
  54          and memory utilization.
  56          Unless you are a developer or are doing network performance analysis
  57          or tuning, say N.
  59config CIFS_WEAK_PW_HASH
  60        bool "Support legacy servers which use weaker LANMAN security"
  61        depends on CIFS
  62        help
  63          Modern CIFS servers including Samba and most Windows versions
  64          (since 1997) support stronger NTLM (and even NTLMv2 and Kerberos)
  65          security mechanisms. These hash the password more securely
  66          than the mechanisms used in the older LANMAN version of the
  67          SMB protocol but LANMAN based authentication is needed to
  68          establish sessions with some old SMB servers.
  70          Enabling this option allows the cifs module to mount to older
  71          LANMAN based servers such as OS/2 and Windows 95, but such
  72          mounts may be less secure than mounts using NTLM or more recent
  73          security mechanisms if you are on a public network.  Unless you
  74          have a need to access old SMB servers (and are on a private
  75          network) you probably want to say N.  Even if this support
  76          is enabled in the kernel build, LANMAN authentication will not be
  77          used automatically. At runtime LANMAN mounts are disabled but
  78          can be set to required (or optional) either in
  79          /proc/fs/cifs (see fs/cifs/README for more detail) or via an
  80          option on the mount command. This support is disabled by
  81          default in order to reduce the possibility of a downgrade
  82          attack.
  84          If unsure, say N.
  86config CIFS_UPCALL
  87        bool "Kerberos/SPNEGO advanced session setup"
  88        depends on CIFS && KEYS
  89        select DNS_RESOLVER
  90        help
  91          Enables an upcall mechanism for CIFS which accesses userspace helper
  92          utilities to provide SPNEGO packaged (RFC 4178) Kerberos tickets
  93          which are needed to mount to certain secure servers (for which more
  94          secure Kerberos authentication is required). If unsure, say N.
  96config CIFS_XATTR
  97        bool "CIFS extended attributes"
  98        depends on CIFS
  99        help
 100          Extended attributes are name:value pairs associated with inodes by
 101          the kernel or by users (see the attr(5) manual page, or visit
 102          <> for details).  CIFS maps the name of
 103          extended attributes beginning with the user namespace prefix
 104          to SMB/CIFS EAs. EAs are stored on Windows servers without the
 105          user namespace prefix, but their names are seen by Linux cifs clients
 106          prefaced by the user namespace prefix. The system namespace
 107          (used by some filesystems to store ACLs) is not supported at
 108          this time.
 110          If unsure, say N.
 112config CIFS_POSIX
 113        bool "CIFS POSIX Extensions"
 114        depends on CIFS_XATTR
 115        help
 116          Enabling this option will cause the cifs client to attempt to
 117          negotiate a newer dialect with servers, such as Samba 3.0.5
 118          or later, that optionally can handle more POSIX like (rather
 119          than Windows like) file behavior.  It also enables
 120          support for POSIX ACLs (getfacl and setfacl) to servers
 121          (such as Samba 3.10 and later) which can negotiate
 122          CIFS POSIX ACL support.  If unsure, say N.
 124config CIFS_ACL
 125          bool "Provide CIFS ACL support"
 126          depends on CIFS_XATTR && KEYS
 127          help
 128            Allows fetching CIFS/NTFS ACL from the server.  The DACL blob
 129            is handed over to the application/caller.  See the man
 130            page for getcifsacl for more information.
 132config CIFS_DEBUG
 133        bool "Enable CIFS debugging routines"
 134        default y
 135        depends on CIFS
 136        help
 137           Enabling this option adds helpful debugging messages to
 138           the cifs code which increases the size of the cifs module.
 139           If unsure, say Y.
 140config CIFS_DEBUG2
 141        bool "Enable additional CIFS debugging routines"
 142        depends on CIFS_DEBUG
 143        help
 144           Enabling this option adds a few more debugging routines
 145           to the cifs code which slightly increases the size of
 146           the cifs module and can cause additional logging of debug
 147           messages in some error paths, slowing performance. This
 148           option can be turned off unless you are debugging
 149           cifs problems.  If unsure, say N.
 151config CIFS_DFS_UPCALL
 152          bool "DFS feature support"
 153          depends on CIFS && KEYS
 154          select DNS_RESOLVER
 155          help
 156            Distributed File System (DFS) support is used to access shares
 157            transparently in an enterprise name space, even if the share
 158            moves to a different server.  This feature also enables
 159            an upcall mechanism for CIFS which contacts userspace helper
 160            utilities to provide server name resolution (host names to
 161            IP addresses) which is needed for implicit mounts of DFS junction
 162            points. If unsure, say N.
 165          bool "Allow nfsd to export CIFS file system"
 166          depends on CIFS && BROKEN
 167          help
 168           Allows NFS server to export a CIFS mounted share (nfsd over cifs)
 170config CIFS_SMB2
 171        bool "SMB2 and SMB3 network file system support"
 172        depends on CIFS && INET
 173        select NLS
 174        select KEYS
 175        select FSCACHE
 176        select DNS_RESOLVER
 178        help
 179          This enables support for the Server Message Block version 2
 180          family of protocols, including SMB3.  SMB3 support is
 181          enabled on mount by specifying "vers=3.0" in the mount
 182          options. These protocols are the successors to the popular
 183          CIFS and SMB network file sharing protocols. SMB3 is the
 184          native file sharing mechanism for the more recent
 185          versions of Windows (Windows 8 and Windows 2012 and
 186          later) and Samba server and many others support SMB3 well.
 187          In general SMB3 enables better performance, security
 188          and features, than would be possible with CIFS (Note that
 189          when mounting to Samba, due to the CIFS POSIX extensions,
 190          CIFS mounts can provide slightly better POSIX compatibility
 191          than SMB3 mounts do though). Note that SMB2/SMB3 mount
 192          options are also slightly simpler (compared to CIFS) due
 193          to protocol improvements.
 195config CIFS_FSCACHE
 196          bool "Provide CIFS client caching support"
 197          depends on CIFS=m && FSCACHE || CIFS=y && FSCACHE=y
 198          help
 199            Makes CIFS FS-Cache capable. Say Y here if you want your CIFS data
 200            to be cached locally on disk through the general filesystem cache
 201            manager. If unsure, say N.
 203 kindly hosted by Redpill Linpro AS, provider of Linux consulting and operations services since 1995.