OpenSuSE Man Pages

Man Page or Keyword Search:
Man Architecture
Apropos Keyword Search (all sections) Output format
home | help
x SuSE Linux 13.1-RELEASE x
x SuSE Linux 13.1-RELEASEx
MOUNT.CIFS,(MOUNT.SMB3)                                MOUNT.CIFS,(MOUNT.SMB3)

NAME
       mount.cifs,  mount.smb3  -  mount using the Common Internet File System
       (CIFS)

SYNOPSIS
          mount.cifs {service} {mount-point} [-o options]

       This tool is part of the cifs-utils suite.

       mount.cifs mounts a CIFS or SMB3 filesystem from Linux. It  is  usually
       invoked indirectly by the mount(8) command when using the "-t cifs" op-
       tion. This command only works in Linux, and the kernel must support the
       cifs  filesystem.  The SMB3 protocol is the successor to the CIFS (SMB)
       protocol and is supported by most Windows servers, Azure  (cloud  stor-
       age), Macs and many other commercial servers and Network Attached Stor-
       age appliances as well as by the popular Open Source server Samba.

       mount.smb3 mounts only SMB3 filesystem. It  is  usually  invoked  indi-
       rectly  by  the  mount(8) command when using the "-t smb3" option.  The
       smb3 filesystem type was added in kernel-4.18 and above.  It works in a
       similar fashion as mount.cifs except it passes filesystem type as smb3.

       The  mount.cifs  utility  attaches  the  UNC name (exported network re-
       source)  specified  as  service  (using  //server/share  syntax,  where
       "server"  is  the  server name or IP address and "share" is the name of
       the share) to the local directory mount-point.

       Options to mount.cifs  are  specified  as  a  comma-separated  list  of
       key=value pairs. It is possible to send options other than those listed
       here, assuming that the cifs filesystem kernel  module  (cifs.ko)  sup-
       ports them. Unrecognized cifs mount options passed to the cifs vfs ker-
       nel code will be logged to the kernel log.

       mount.cifs causes the cifs vfs to launch a thread  named  cifsd.  After
       mounting it keeps running until the mounted resource is unmounted (usu-
       ally via the umount utility).

       mount.cifs -V command displays the version of cifs mount helper.

       modinfo cifs command displays the version of cifs module.

OPTIONS
       username=arg|user=arg
              specifies the username to connect as. If this is not given, then
              the environment variable USER is used.

              Earlier  versions  of mount.cifs also allowed one to specify the
              username  in  a  user%password  or   workgroup/user   or   work-
              group/user%password  to  allow  the password and workgroup to be
              specified as part of the username. Support for  those  alternate
              username formats is now deprecated and should no longer be used.
              Users should use the discrete password= and domain=  to  specify
              those  values. While some versions of the cifs kernel module ac-
              cept user= as an abbreviation for this option, its use can  con-
              fuse  the  standard  mount  program into thinking that this is a
              non-superuser mount. It is therefore recommended to use the full
              username= option name.

       password=arg|pass=arg
              specifies  the  CIFS  password. If this option is not given then
              the environment variable PASSWD is used. If the password is  not
              specified  directly  or  indirectly  via  an  argument to mount,
              mount.cifs will prompt for a password, unless the  guest  option
              is specified.

              Note  that  a  password  which  contains the delimiter character
              (i.e. a comma ',') will fail to be parsed correctly on the  com-
              mand  line. However, the same password defined in the PASSWD en-
              vironment variable or via a credentials file (see below) or  en-
              tered at the password prompt will be read correctly.

       credentials=filename|cred=filename
              specifies  a  file  that contains a username and/or password and
              optionally the name of the workgroup. The format of the file is:

                 username=value
                 password=value
                 domain=value

              This is preferred over having passwords in plaintext in a shared
              file,  such  as  /etc/fstab . Be sure to protect any credentials
              file properly.

       uid=arg
              sets the uid that will own  all  files  or  directories  on  the
              mounted  filesystem  when  the server does not provide ownership
              information. It may be specified as either a username or  a  nu-
              meric  uid.  When  not  specified,  the  default  is  uid 0. The
              mount.cifs helper must be at version 1.10 or higher  to  support
              specifying  the uid in non-numeric form. See the section on FILE
              AND DIRECTORY OWNERSHIP AND PERMISSIONS below for more  informa-
              tion.

       forceuid
              instructs  the  client  to ignore any uid provided by the server
              for files and directories and to always assign the owner  to  be
              the value of the uid= option. See the section on FILE AND DIREC-
              TORY OWNERSHIP AND PERMISSIONS below for more information.

       cruid=arg
              sets the uid of the owner of the credentials cache. This is pri-
              marily  useful with sec=krb5. The default is the real uid of the
              process performing the mount. Setting this parameter directs the
              upcall to look for a credentials cache owned by that user.

       gid=arg
              sets  the  gid  that  will  own  all files or directories on the
              mounted filesystem when the server does  not  provide  ownership
              information.  It may be specified as either a groupname or a nu-
              meric gid. When  not  specified,  the  default  is  gid  0.  The
              mount.cifs  helper  must be at version 1.10 or higher to support
              specifying the gid in non-numeric form. See the section on  FILE
              AND  DIRECTORY OWNERSHIP AND PERMISSIONS below for more informa-
              tion.

       forcegid
              instructs the client to ignore any gid provided  by  the  server
              for  files  and directories and to always assign the owner to be
              the value of the gid= option. See the section on FILE AND DIREC-
              TORY OWNERSHIP AND PERMISSIONS below for more information.

       idsfromsid
              Extract  uid/gid from special SID instead of mapping it. See the
              section on FILE AND DIRECTORY OWNERSHIP  AND  PERMISSIONS  below
              for more information.

       port=arg
              sets the port number on which the client will attempt to contact
              the CIFS server. If this value is specified, look for an  exist-
              ing  connection  with  this port, and use that if one exists. If
              one doesn't exist, try to create a new connection on that  port.
              If  that  connection fails, return an error. If this value isn't
              specified, look for an existing connection on port 445  or  139.
              If  no  such connection exists, try to connect on port 445 first
              and then port 139 if that fails. Return an error if both fail.

       netbiosname=arg
              When mounting to servers via port  139,  specifies  the  RFC1001
              source  name to use to represent the client netbios machine dur-
              ing the netbios session initialization.

       servern=arg
              Similar to netbiosname except it specifies the netbios  name  of
              the  server  instead  of  the client. Although rarely needed for
              mounting to newer servers, this option is needed for mounting to
              some  older  servers (such as OS/2 or Windows 98 and Windows ME)
              since when connecting over port  139  they,  unlike  most  newer
              servers, do not support a default server name. A server name can
              be up to 15 characters long and is usually uppercased.

       file_mode=arg
              If the server does not support the  CIFS  Unix  extensions  this
              overrides the default file mode.

       dir_mode=arg
              If  the  server  does  not support the CIFS Unix extensions this
              overrides the default mode for directories.

       ip=arg|addr=arg
              sets the destination IP address. This option  is  set  automati-
              cally  if  the server name portion of the requested UNC name can
              be resolved so rarely needs to be specified by the user.

       domain=arg|dom=arg|workgroup=arg
              Sets the domain (workgroup) of  the  user.  If  no  domains  are
              given, the empty domain will be used. Use domainauto to automat-
              ically guess the domain of the server you are connecting to.

       domainauto
              When using NTLM authentication and not providing  a  domain  via
              domain,  guess  the domain from the server NTLM challenge.  This
              behavior used to be the default on kernels older than 2.6.36.

       guest  don't prompt for a password.

       iocharset
              Charset used to convert local path names to  and  from  Unicode.
              Unicode  is used by default for network path names if the server
              supports it. If iocharset is not specified then the  nls_default
              specified  during the local client kernel build will be used. If
              server does not support Unicode, this parameter is unused.

       ro     mount read-only.

       rw     mount read-write.

       setuids
              If the CIFS Unix extensions are negotiated with the  server  the
              client  will attempt to set the effective uid and gid of the lo-
              cal process on newly created  files,  directories,  and  devices
              (create,  mkdir, mknod). If the CIFS Unix Extensions are not ne-
              gotiated, for newly created files and directories instead of us-
              ing  the  default  uid and gid specified on the the mount, cache
              the new file's uid and gid locally which means that the uid  for
              the  file can change when the inode is reloaded (or the user re-
              mounts the share).

       nosetuids
              The client will not attempt to set the uid and gid on  on  newly
              created  files,  directories, and devices (create, mkdir, mknod)
              which will result in the server setting the uid and gid  to  the
              default  (usually  the  server  uid  of the user who mounted the
              share). Letting the server (rather than the client) set the  uid
              and  gid is the default. If the CIFS Unix Extensions are not ne-
              gotiated then the uid and gid for new files will  appear  to  be
              the  uid  (gid) of the mounter or the uid (gid) parameter speci-
              fied on the mount.

       perm   Client does permission checks (vfs_permission check of  uid  and
              gid  of  the  file against the mode and desired operation), Note
              that this is in addition to the normal ACL check on  the  target
              machine  done by the server software. Client permission checking
              is enabled by default.

       noperm Client does not do permission checks. This can expose  files  on
              this  mount to access by other users on the local client system.
              It is typically only needed when the server  supports  the  CIFS
              Unix  Extensions but the UIDs/GIDs on the client and server sys-
              tem do not match closely enough to allow access by the user  do-
              ing  the  mount.  Note  that this does not affect the normal ACL
              check on the target machine done by the server software (of  the
              server ACL against the user name provided at mount time).

       dynperm
              Instructs  the  server  to maintain ownership and permissions in
              memory that can't be stored on the server. This information  can
              disappear  at  any  time (whenever the inode is flushed from the
              cache), so while this may help make some applications work, it's
              behavior  is  somewhat unreliable. See the section below on FILE
              AND DIRECTORY OWNERSHIP AND PERMISSIONS for more information.

       cache=arg
              Cache mode. See the section below on  CACHE  COHERENCY  for  de-
              tails. Allowed values are:

              o none - do not cache file data at all

              o strict - follow the CIFS/SMB2 protocol strictly

              o loose - allow loose caching semantics

              The  default in kernels prior to 3.7 was loose. As of kernel 3.7
              the default is strict.

       nostrictsync
              Do not ask the server to flush on fsync().  Some servers perform
              non-buffered  writes by default in which case flushing is redun-
              dant. In workloads where a client is performing a lot  of  small
              write  +  fsync  combinations  and where network latency is much
              higher than the server latency, this brings a 2x performance im-
              provement.   This  option  is also a good candidate in scenarios
              where we want performance over consistency.

       handlecache
              (default) In SMB2 and above, the client often has  to  open  the
              root  of  the share (empty path) in various places during mount,
              path revalidation and the statfs(2)  system  call.  This  option
              cuts  redundant  round trip traffic (opens and closes) by simply
              keeping the directory handle for the root around once opened.

       nohandlecache
              Disable caching of the share root directory handle.

       handletimeout=arg
              The time (in milliseconds) for which the server  should  reserve
              the handle after a failover waiting for the client to reconnect.
              When mounting with resilienthandles or  persistenthandles  mount
              option, or when their use is requested by the server (continuous
              availability shares) then this parameter  overrides  the  server
              default handle timeout (which for most servers is 120 seconds).

       rwpidforward
              Forward  pid of a process who opened a file to any read or write
              operation on that file. This prevent applications  like  wine(1)
              from failing on read and write if we use mandatory brlock style.

       mapchars
              Translate  six  of the seven reserved characters (not backslash,
              but including the colon, question mark, pipe,  asterik,  greater
              than  and  less  than  characters)  to  the  remap  range (above
              0xF000), which also allows the CIFS client  to  recognize  files
              created with such characters by Windows's Services for Mac. This
              can also be useful when  mounting  to  most  versions  of  Samba
              (which  also forbids creating and opening files whose names con-
              tain any of these seven characters). This has no effect  if  the
              server  does  not  support Unicode on the wire. Please note that
              the files created with mapchars mount option may not be accessi-
              ble if the share is mounted without that option.

       nomapchars
              (default) Do not translate any of these seven characters.

       mapposix
              Translate  reserved characters similarly to mapchars but use the
              mapping from Microsoft "Services For Unix".

       intr   currently unimplemented.

       nointr (default) currently unimplemented.

       hard   The program accessing a file on the  cifs  mounted  file  system
              will hang when the server crashes.

       soft   (default)  The program accessing a file on the cifs mounted file
              system will not hang when the server crashes and will return er-
              rors to the user application.

       noacl  Do  not  allow POSIX ACL operations even if server would support
              them.

              The CIFS client can get and set POSIX ACLs (getfacl, setfacl) to
              Samba  servers  version 3.0.10 and later. Setting POSIX ACLs re-
              quires enabling both CIFS_XATTR and then CIFS_POSIX  support  in
              the  CIFS  configuration  options when building the cifs module.
              POSIX ACL support can be disabled on a per mount basis by speci-
              fying noacl on mount.

       cifsacl
              This  option is used to map CIFS/NTFS ACLs to/from Linux permis-
              sion bits, map SIDs to/from UIDs and GIDs, and get and set Secu-
              rity Descriptors.

              See  section on CIFS/NTFS ACL, SID/UID/GID MAPPING, SECURITY DE-
              SCRIPTORS for more information.

       backupuid=arg
              File access by this user shall be done with  the  backup  intent
              flag  set.  Either  a name or an id must be provided as an argu-
              ment, there are no default values.

              See section ACCESSING FILES WITH BACKUP INTENT for more details.

       backupgid=arg
              File access by users who are members of this group shall be done
              with  the backup intent flag set. Either a name or an id must be
              provided as an argument, there are no default values.

              See section ACCESSING FILES WITH BACKUP INTENT for more details.

       nocase Request case insensitive path name matching (case  sensitive  is
              the default if the server supports it).

       ignorecase
              Synonym for nocase.

       sec=arg
              Security mode. Allowed values are:

              o none - attempt to connection as a null user (no name)

              o krb5 - Use Kerberos version 5 authentication

              o krb5i - Use Kerberos authentication and forcibly enable packet
                signing

              o ntlm - Use NTLM password hashing

              o ntlmi - Use NTLM password hashing and force packet signing

              o ntlmv2 - Use NTLMv2 password hashing

              o ntlmv2i - Use NTLMv2 password hashing and force packet signing

              o ntlmssp - Use NTLMv2  password  hashing  encapsulated  in  Raw
                NTLMSSP message

              o ntlmsspi  -  Use  NTLMv2  password hashing encapsulated in Raw
                NTLMSSP message, and force packet signing

              The default in  mainline  kernel  versions  prior  to  v3.8  was
              sec=ntlm. In v3.8, the default was changed to sec=ntlmssp.

              If the server requires signing during protocol negotiation, then
              it may be enabled automatically. Packet signing may also be  en-
              abled  automatically  if  it's  enabled in /proc/fs/cifs/Securi-
              tyFlags.

       seal   Request encryption at the SMB layer.  The  encryption  algorithm
              used is AES-128-CCM. Requires SMB3 or above (see vers).

       rdma   Connect  directly  to  the  server  using  SMB Direct via a RDMA
              adapter. Requires SMB3 or above (see vers).

       resilienthandles
              Enable resilient handles. If the server supports it, keep opened
              files across reconnections. Requires SMB2.1 (see vers).

       noresilienthandles
              (default) Disable resilient handles.

       persistenthandles
              Enable  persistent  handles.  If  the  server  supports it, keep
              opened files across reconnections. Persistent handles  are  also
              valid  across  servers in a cluster and have stronger guarantees
              than resilient handles. Requires SMB3 or above (see vers).

       nopersistenthandles
              (default) Disable persistent handles.

       snapshot=time
              Mount a specific snapshot of the remote share. time  must  be  a
              positive   integer   identifying   the  snapshot  requested  (in
              100-nanosecond units that have elapsed since January 1, 1601, or
              alternatively   it   can   be   specified  in  GMT  format  e.g.
              @GMT-2019.03.27-20.52.19). Supported in the Linux kernel  start-
              ing from v4.19.

       nobrl  Do not send byte range lock requests to the server. This is nec-
              essary for certain  applications  that  break  with  cifs  style
              mandatory  byte  range  locks  (and most cifs servers do not yet
              support requesting advisory byte range locks).

       forcemandatorylock
              Do not use POSIX locks even when available via unix  extensions.
              Always use cifs style mandatory locks.

       locallease
              Check cached leases locally instead of querying the server.

       nolease
              Do  not request lease/oplock when openning a file on the server.
              This turns off local caching of IO,  byte-range  lock  and  read
              metadata operations (see actimeo for more details about metadata
              caching). Requires SMB2 and above (see vers).

       sfu    When the CIFS or SMB3 Unix Extensions are  not  negotiated,  at-
              tempt  to  create  device files and fifos in a format compatible
              with Services for Unix (SFU). In addition retrieve bits 10-12 of
              the  mode  via the SETFILEBITS extended attribute (as SFU does).
              In the future the bottom 9 bits of the mode mode  also  will  be
              emulated  using  queries  of the security descriptor (ACL). [NB:
              requires version 1.39 or later of the  CIFS  VFS.  To  recognize
              symlinks  and be able to create symlinks in an SFU interoperable
              form requires version 1.40 or later of the CIFS VFS kernel  mod-
              ule.

       mfsymlinks
              Enable     support    for    Minshall+French    symlinks    (see
              http://wiki.samba.org/index.php/UNIX_Extensions#Minshall.2BFrench_symlinks).
              This  option is ignored when specified together with the sfu op-
              tion. Minshall+French symlinks are used even if the server  sup-
              ports the CIFS Unix Extensions.

       echo_interval=n
              sets  the interval at which echo requests are sent to the server
              on an idling connection. This setting also affects the time  re-
              quired  for  a  connection to an unresponsive server to timeout.
              Here n is the echo interval in seconds. The reconnection happens
              at  twice the value of the echo_interval set for an unresponsive
              server.  If this option is not given then the default  value  of
              60  seconds  is used.  The minimum tunable value is 1 second and
              maximum can go up to 600 seconds.

       serverino
              Use inode numbers (unique persistent file identifiers)  returned
              by  the server instead of automatically generating temporary in-
              ode numbers on the client. Although server inode numbers make it
              easier  to spot hardlinked files (as they will have the same in-
              ode numbers) and inode numbers may be persistent (which is  use-
              ful  for  some software), the server does not guarantee that the
              inode numbers are unique if multiple server side mounts are  ex-
              ported  under a single share (since inode numbers on the servers
              might not be unique if multiple filesystems  are  mounted  under
              the  same  shared  higher  level  directory).  Note that not all
              servers support returning server inode numbers,  although  those
              that  support  the  CIFS  Unix  Extensions, and Windows 2000 and
              later servers typically do support this (although not  necessar-
              ily  on  every local server filesystem). Parameter has no effect
              if the server lacks  support  for  returning  inode  numbers  or
              equivalent. This behavior is enabled by default.

       noserverino
              Client  generates inode numbers itself rather than using the ac-
              tual ones from the server.

              See section INODE NUMBERS for more information.

       posix|unix|linux
              (default) Enable Unix Extensions for this mount.  Requires  CIFS
              (vers=1.0)  or  SMB3.1.1  (vers=3.1.1)  and  a server supporting
              them.

       noposix|nounix|nolinux
              Disable the Unix Extensions for this mount. This can  be  useful
              in  order  to  turn off multiple settings at once. This includes
              POSIX acls, POSIX locks, POSIX paths, symlink  support  and  re-
              trieving uids/gids/mode from the server. This can also be useful
              to work around a bug in a server that supports Unix Extensions.

              See section INODE NUMBERS for more information.

       nouser_xattr
              Do not allow getfattr/setfattr to get/set xattrs, even if server
              would  support it otherwise. The default is for xattr support to
              be enabled.

       nodfs  Do not follow Distributed FileSystem referrals. IO on a file not
              stored on the server will fail instead of connecting to the tar-
              get server transparently.

       noautotune
              Use fixed size for kernel recv/send socket buffers.

       nosharesock
              Do not try to reuse sockets if the system is  already  connected
              to  the  server  via an existing mount point. This will make the
              client always make a new connection to the server no matter what
              he  is  already  connected  to. This can be useful in simulating
              multiple clients connecting to the same server,  as  each  mount
              point will use a different TCP socket.

       noblocksend
              Send data on the socket using non blocking operations (MSG_DONT-
              WAIT flag).

       rsize=bytes
              Maximum amount of data that the kernel will request  in  a  read
              request in bytes. Maximum size that servers will accept is typi-
              cally 8MB for SMB3 or later dialects. Default  requested  during
              mount is 4MB. Prior to the 4.20 kernel the default requested was
              1MB. Prior to the SMB2.1 dialect the maximum was usually 64K.

       wsize=bytes
              Maximum amount of data that the kernel will send in a write  re-
              quest  in  bytes. Maximum size that servers will accept is typi-
              cally 8MB for SMB3 or later dialects. Default  requested  during
              mount is 4MB. Prior to the 4.20 kernel the default requested was
              1MB. Prior to the SMB2.1 dialect the maximum was usually 64K.

       bsize=bytes
              Override the default blocksize (1MB) reported on SMB3 files (re-
              quires  kernel version of 5.1 or later). Prior to kernel version
              5.1, the blocksize was always reported as  16K  instead  of  1MB
              (and  was  not  configurable)  which can hurt the performance of
              tools like cp and scp (especially for uncached I/O) which decide
              on  the  read and write size to use for file copies based on the
              inode blocksize. bsize may not be less than 16K or greater  than
              16M.

       max_credits=n
              Maximum credits the SMB2 client can have. Default is 32000. Must
              be set to a number between 20 and 60000.

       fsc    Enable local disk caching using FS-Cache for CIFS.  This  option
              could  be  useful to improve performance on a slow link, heavily
              loaded server and/or network where  reading  from  the  disk  is
              faster  than  reading  from  the server (over the network). This
              could also impact the scalability positively as  the  number  of
              calls  to  the  server  are  reduced.  But, be warned that local
              caching is not suitable for all workloads, for  e.g.,  read-once
              type  workloads.  So,  you need to consider carefully the situa-
              tion/workload before using this option.  Currently,  local  disk
              caching is enabled for CIFS files opened as read-only.

              NOTE:  This feature is available only in the recent kernels that
              have been built with the kernel  config  option  CONFIG_CIFS_FS-
              CACHE.  You  also  need to have cachefilesd daemon installed and
              running to make the cache operational.

       multiuser
              Map user accesses to individual credentials when  accessing  the
              server.  By  default,  CIFS mounts only use a single set of user
              credentials (the mount credentials) when accessing a share. With
              this  option,  the client instead creates a new session with the
              server using the user's credentials whenever a new user accesses
              the  mount.   Further  accesses by that user will also use those
              credentials. Because the kernel  cannot  prompt  for  passwords,
              multiuser  mounts  are limited to mounts using sec= options that
              don't require passwords.

              With this change, it's feasible for the server to handle permis-
              sions enforcement, so this option also implies noperm . Further-
              more, when unix extensions aren't in use and  the  administrator
              has  not  overridden  ownership  using the uid= or gid= options,
              ownership of files is presented as the  current  user  accessing
              the share.

       actimeo=arg
              The  time (in seconds) that the CIFS client caches attributes of
              a file or directory before  it  requests  attribute  information
              from  a server. During this period the changes that occur on the
              server remain undetected until  the  client  checks  the  server
              again.

              By default, the attribute cache timeout is set to 1 second. This
              means more frequent on-the-wire calls to  the  server  to  check
              whether  attributes have changed which could impact performance.
              With this option users can make a tradeoff  between  performance
              and  cache  metadata  correctness,  depending on workload needs.
              Shorter timeouts mean better cache coherency, but  frequent  in-
              creased  number  of  calls to the server. Longer timeouts mean a
              reduced number of calls to  the  server  but  looser  cache  co-
              herency.  The  actimeo value is a positive integer that can hold
              values between 0 and a maximum value of 2^30 * HZ (frequency  of
              timer interrupt) setting.

       noposixpaths
              If  unix extensions are enabled on a share, then the client will
              typically allow filenames to include any character  besides  '/'
              in a pathname component, and will use forward slashes as a path-
              name delimiter. This option prevents the client from  attempting
              to negotiate the use of posix-style pathnames to the server.

       posixpaths
              Inverse of noposixpaths .

       vers=arg
              SMB protocol version. Allowed values are:

              o 1.0 - The classic CIFS/SMBv1 protocol.

              o 2.0 - The SMBv2.002 protocol. This was initially introduced in
                Windows Vista Service Pack 1, and Windows  Server  2008.  Note
                that  the  initial  release  version  of Windows Vista spoke a
                slightly different dialect (2.000) that is not supported.

              o 2.1 - The SMBv2.1 protocol that was  introduced  in  Microsoft
                Windows 7 and Windows Server 2008R2.

              o 3.0  -  The  SMBv3.0 protocol that was introduced in Microsoft
                Windows 8 and Windows Server 2012.

              o 3.02 or 3.0.2 - The SMBv3.0.2 protocol that was introduced  in
                Microsoft Windows 8.1 and Windows Server 2012R2.

              o 3.1.1  or 3.11 - The SMBv3.1.1 protocol that was introduced in
                Microsoft Windows 10 and Windows Server 2016.

              o 3 - The SMBv3.0 protocol version and above.

              o default - Tries to negotiate the highest  SMB2+  version  sup-
                ported by both the client and server.

              If  no  dialect  is specified on mount vers=default is used.  To
              check Dialect refer to /proc/fs/cifs/DebugData

              Note too that while this option  governs  the  protocol  version
              used, not all features of each version are available.

              The  default since v4.13.5 is for the client and server to nego-
              tiate the highest possible version greater than or equal to 2.1.
              In  kernels prior to v4.13, the default was 1.0. For kernels be-
              tween v4.13 and v4.13.5 the default is 3.0.

       --verbose
              Print additional debugging information for the mount. Note  that
              this parameter must be specified before the -o . For example:

                 mount -t cifs //server/share /mnt --verbose -o user=username

SERVICE FORMATTING AND DELIMITERS
       It's  generally  preferred to use forward slashes (/) as a delimiter in
       service names. They are considered  to  be  the  "universal  delimiter"
       since  they are generally not allowed to be embedded within path compo-
       nents on Windows machines and the client  can  convert  them  to  back-
       slashes  (\)  unconditionally. Conversely, backslash characters are al-
       lowed by POSIX to be part of a path component, and can't  be  automati-
       cally converted in the same way.

       mount.cifs will attempt to convert backslashes to forward slashes where
       it's able to do so, but it cannot do so in any path component following
       the sharename.

INODE NUMBERS
       When  Unix  Extensions are enabled, we use the actual inode number pro-
       vided by the server in response to the POSIX calls as an inode number.

       When Unix Extensions are disabled and serverino mount option is enabled
       there  is  no  way to get the server inode number. The client typically
       maps the server-assigned UniqueID onto an inode number.

       Note that the UniqueID is a different value from the server inode  num-
       ber.  The  UniqueID value is unique over the scope of the entire server
       and is often greater than 2 power 32. This value often  makes  programs
       that are not compiled with LFS (Large File Support), to trigger a glibc
       EOVERFLOW error as this won't fit in the target structure field. It  is
       strongly  recommended  to  compile your programs with LFS support (i.e.
       with -D_FILE_OFFSET_BITS=64) to prevent this problem. You can also  use
       noserverino mount option to generate inode numbers smaller than 2 power
       32 on the client. But you may not be able to detect hardlinks properly.

CACHE COHERENCY
       With a network filesystem such as CIFS or NFS, the client must  contend
       with the fact that activity on other clients or the server could change
       the contents or attributes of a file without the client being aware  of
       it. One way to deal with such a problem is to mandate that all file ac-
       cesses go to the server directly. This is performance prohibitive  how-
       ever,  so  most  protocols  have  some mechanism to allow the client to
       cache data locally.

       The CIFS protocol mandates (in effect) that the client should not cache
       file  data  unless  it  holds  an  opportunistic lock (aka oplock) or a
       lease. Both of these entities allow the  client  to  guarantee  certain
       types  of exclusive access to a file so that it can access its contents
       without needing to continually interact with  the  server.  The  server
       will  call  back  the client when it needs to revoke either of them and
       allow the client a certain amount of time to flush any cached data.

       The cifs client uses the kernel's pagecache to cache file data. Any I/O
       that's  done  through the pagecache is generally page-aligned. This can
       be problematic when combined with byte-range locks as Windows'  locking
       is mandatory and can block reads and writes from occurring.

       cache=none  means  that  the client never utilizes the cache for normal
       reads and writes. It always accesses the server directly to  satisfy  a
       read or write request.

       cache=strict means that the client will attempt to follow the CIFS/SMB2
       protocol strictly. That is, the cache is only trusted when  the  client
       holds  an  oplock.  When  the  client does not hold an oplock, then the
       client bypasses the cache and accesses the server directly to satisfy a
       read  or  write request. By doing this, the client avoids problems with
       byte range locks. Additionally, byte range  locks  are  cached  on  the
       client when it holds an oplock and are "pushed" to the server when that
       oplock is recalled.

       cache=loose allows the client to use looser  protocol  semantics  which
       can  sometimes  provide  better performance at the expense of cache co-
       herency. File access always involves the pagecache. When an  oplock  or
       lease is not held, then the client will attempt to flush the cache soon
       after a write to a file. Note that that flush does not necessarily  oc-
       cur before a write system call returns.

       In  the  case  of a read without holding an oplock, the client will at-
       tempt to periodically check the attributes of the file in order to  as-
       certain  whether it has changed and the cache might no longer be valid.
       This mechanism is much like the one that  NFSv2/3  use  for  cache  co-
       herency,  but  it  particularly problematic with CIFS. Windows is quite
       "lazy" with respect to updating the LastWriteTime field that the client
       uses to verify this. The effect is that cache=loose can cause data cor-
       ruption when multiple readers and  writers  are  working  on  the  same
       files.

       Because  of  this,  when multiple clients are accessing the same set of
       files, then cache=strict is recommended. That helps eliminate  problems
       with   cache  coherency  by  following  the  CIFS/SMB2  protocols  more
       strictly.

       Note too that no matter what caching model is used, the client will al-
       ways use the pagecache to handle mmap'ed files. Writes to mmap'ed files
       are only guaranteed to be flushed to the server when msync() is called,
       or on close().

       The  default  in kernels prior to 3.7 was loose. As of 3.7, the default
       is strict.

CIFS/NTFS ACL, SID/UID/GID MAPPING, SECURITY DESCRIPTORS
       This option is used to work with file objects which posses Security De-
       scriptors  and CIFS/NTFS ACL instead of UID, GID, file permission bits,
       and POSIX ACL as user authentication model. This is the most common au-
       thentication model for CIFS servers and is the one used by Windows.

       Support  for  this requires both CIFS_XATTR and CIFS_ACL support in the
       CIFS configuration options when building the cifs module.

       A CIFS/NTFS ACL is mapped to file permission bits  using  an  algorithm
       specified in the following Microsoft TechNet document:

       http://technet.microsoft.com/en-us/library/bb463216.aspx

       In order to map SIDs to/from UIDs and GIDs, the following is required:

       o a   kernel   upcall   to  the  cifs.idmap  utility  set  up  via  re-
         quest-key.conf(5)

       o winbind support configured via nsswitch.conf(5) and smb.conf(5)

       Please refer to the  respective  manpages  of  cifs.idmap(8)  and  win-
       bindd(8) for more information.

       Security  descriptors  for  a  file object can be retrieved and set di-
       rectly using extended attribute named system.cifs_acl. The security de-
       scriptors presented via this interface are "raw" blobs of data and need
       a userspace utility to either parse and format or to assemble  it  such
       as getcifsacl(1) and setcifsacl(1) respectively.

       Some of the things to consider while using this mount option:

       o There may be an increased latency when handling metadata due to addi-
         tional requests to get and set security descriptors.

       o The mapping between a CIFS/NTFS ACL and POSIX file permission bits is
         imperfect and some ACL information may be lost in the translation.

       o If  either  upcall to cifs.idmap is not setup correctly or winbind is
         not configured and running, ID mapping will fail. In  that  case  uid
         and gid will default to either to those values of the share or to the
         values of uid and/or gid mount options if specified.

ACCESSING FILES WITH BACKUP INTENT
       For an user on the server, desired access to a file  is  determined  by
       the permissions and rights associated with that file. This is typically
       accomplished using ownership and ACL. For a user who does not have  ac-
       cess  rights  to a file, it is still possible to access that file for a
       specific or a targeted purpose by granting special rights.  One of  the
       specific  purposes is to access a file with the intent to either backup
       or restore i.e. backup intent. The right to  access  a  file  with  the
       backup  intent  can  typically be granted by making that user a part of
       the built-in group Backup Operators. Thus, when this user  attempts  to
       open a file with the backup intent, open request is sent by setting the
       bit FILE_OPEN_FOR_BACKUP_INTENT as one of the CreateOptions.

       As an example, on a Windows server, a user named testuser, cannot  open
       this file with such a security descriptor:

          REVISION:0x1
          CONTROL:0x9404
          OWNER:Administrator
          GROUP:Domain Users
          ACL:Administrator:ALLOWED/0x0/FULL

       But  the  user  testuser,  if  it  becomes part of the Backup Operators
       group, can open the file with the backup intent.

       Any user on the client side who can authenticate as such a user on  the
       server,  can  access the files with the backup intent. But it is desir-
       able and preferable for security reasons amongst many, to restrict this
       special right.

       The  mount option backupuid is used to restrict this special right to a
       user which is specified by either a name or an  id.  The  mount  option
       backupgid  is  used  to  restrict  this special right to the users in a
       group which is specified by either a name or an id. Only users matching
       either backupuid or backupgid shall attempt to access files with backup
       intent. These two mount options can be used together.

FILE AND DIRECTORY OWNERSHIP AND PERMISSIONS
       The core CIFS protocol does not provide unix ownership  information  or
       mode  for files and directories. Because of this, files and directories
       will generally appear to be owned by whatever values the uid=  or  gid=
       options are set, and will have permissions set to the default file_mode
       and dir_mode for the mount.  Attempting  to  change  these  values  via
       chmod/chown will return success but have no effect.

       When  the client and server negotiate unix extensions, files and direc-
       tories will be assigned the uid, gid, and mode provided by the  server.
       Because CIFS mounts are generally single-user, and the same credentials
       are used no matter what user accesses the mount,  newly  created  files
       and  directories  will  generally  be  given ownership corresponding to
       whatever credentials were used to mount the share.

       If the uid's and gid's being used  do  not  match  on  the  client  and
       server, the forceuid and forcegid options may be helpful. Note however,
       that there is no corresponding option to override the mode. Permissions
       assigned  to a file when forceuid or forcegid are in effect may not re-
       flect the the real permissions.

       When unix extensions are not negotiated, it's also possible to  emulate
       them  locally  on  the server using the dynperm mount option. When this
       mount option is in effect, newly created files and directories will re-
       ceive  what  appear to be proper permissions. These permissions are not
       stored on the server however and can disappear at any time in  the  fu-
       ture (subject to the whims of the kernel flushing out the inode cache).
       In general, this mount option is discouraged.

       It's also possible to override permission checking on the client  alto-
       gether  via  the noperm option. Server-side permission checks cannot be
       overridden. The permission checks done by the server will always corre-
       spond  to  the credentials used to mount the share, and not necessarily
       to the user who is accessing the share.

ENVIRONMENT VARIABLES
       The variable USER may contain the username of the person to be used  to
       authenticate  to the server. The variable can be used to set both user-
       name and password by using the format username%password.

       The variable PASSWD may contain the password of the  person  using  the
       client.

       The variable PASSWD_FILE may contain the pathname of a file to read the
       password from. A single line of input is read and used as the password.

NOTES
       This command may be used only by  root,  unless  installed  setuid,  in
       which  case  the  noexec  and  nosuid mount flags are enabled. When in-
       stalled as a setuid program, the program follows  the  conventions  set
       forth  by the mount program for user mounts, with the added restriction
       that users must be able to chdir() into the  mountpoint  prior  to  the
       mount in order to be able to mount onto it.

       Some samba client tools like smbclient(8) honour client-side configura-
       tion  parameters  present  in  smb.conf.  Unlike  those  client  tools,
       mount.cifs ignores smb.conf completely.

CONFIGURATION
       The  primary mechanism for making configuration changes and for reading
       debug information for the cifs vfs is via the Linux  /proc  filesystem.
       In  the  directory  /proc/fs/cifs  are  various configuration files and
       pseudo files which can display debug information and  performance  sta-
       tistics.  There  are  additional startup options such as maximum buffer
       size and number of buffers which only may be set when the  kernel  cifs
       vfs  (cifs.ko  module) is loaded. These can be seen by running the mod-
       info utility against the file cifs.ko which will list the options  that
       may  be passed to cifs during module installation (device driver load).
       For more information see the kernel file fs/cifs/README. When configur-
       ing dynamic tracing (trace-cmd) note that the list of SMB3 events which
       can be enabled can be seen at: /sys/kernel/debug/tracing/events/cifs/.

SECURITY
       The use of SMB2.1 or later (including the latest dialect  SMB3.1.1)  is
       recommended  for  improved  security and SMB1 is no longer requested by
       default at mount time. Old dialects such as CIFS  (SMB1,  ie  vers=1.0)
       have  much  weaker security. Use of CIFS (SMB1) can be disabled by mod-
       probe cifs disable_legacy_dialects=y.

BUGS
       Mounting using the CIFS URL specification is currently not supported.

       The credentials file does not handle usernames or passwords with  lead-
       ing space.

       Note  that  the typical response to a bug report is a suggestion to try
       the latest version first. So please try doing that  first,  and  always
       include which versions you use of relevant software when reporting bugs
       (minimum: mount.cifs (try mount.cifs -V),  kernel  (see  /proc/version)
       and server type you are trying to contact.

VERSION
       This  man  page  is correct for version 2.18 of the cifs vfs filesystem
       (roughly Linux kernel 5.0).

SEE ALSO
       cifs.upcall(8), getcifsacl(1), setcifsacl(1)

       Documentation/filesystems/cifs.txt and fs/cifs/README in the Linux ker-
       nel source tree may contain additional options and information.

AUTHOR
       Steve French

       The maintainer of the Linux cifs vfs is Steve French. The maintainer of
       the cifs-utils suite of user space tools is Pavel Shilovsky. The  Linux
       CIFS  Mailing  list  is  the preferred place to ask questions regarding
       these programs.

                                       8               MOUNT.CIFS,(MOUNT.SMB3)

Want to link to this manual page? Use this URL:
<
http://star2.abcm.com/cgi-bin/bsdi-man?query=mount.cifs&sektion=8&manpath=>

home | help