Dieser Inhalt ist in der von Ihnen ausgewählten Sprache nicht verfügbar.
Chapter 25. Mounting an SMB Share on Red Hat Enterprise Linux
The Server Message Block (SMB) protocol implements an application-layer network protocol used to access resources on a server, such as file shares and shared printers.
In the context of SMB, you can find mentions about the Common Internet File System (CIFS) protocol, which is a dialect of SMB. Both the SMB and CIFS protocol are supported, and the kernel module and utilities involved in mounting SMB and CIFS shares both use the name cifs
.
This section describes how to mount shares from an SMB server. For details about setting up an SMB server on Red Hat Enterprise Linux using Samba, see Using Samba as a server.
Prerequisites
On Microsoft Windows, SMB is implemented by default. On Red Hat Enterprise Linux, the cifs.ko
file system module of the kernel provides support for mounting SMB shares. Therefore, install the cifs-utils
package:
# yum install cifs-utils
The cifs-utils
package provides utilities to:
- Mount SMB and CIFS shares
- Manage NT Lan Manager (NTLM) credentials in the kernel’s keyring
- Set and display Access Control Lists (ACL) in a security descriptor on SMB and CIFS shares
25.1. Supported SMB protocol versions
The cifs.ko
kernel module supports the following SMB protocol versions:
SMB 1
WarningThe SMB1 protocol is deprecated due to known security issues, and is only safe to use on a private network. The main reason that SMB1 is still provided as a supported option is that currently it is the only SMB protocol version that supports UNIX extensions. If you do not need to use UNIX extensions on SMB, Red Hat strongly recommends using SMB2 or later.
- SMB 2.0
- SMB 2.1
- SMB 3.0
- SMB 3.1.1
Depending on the protocol version, not all SMB features are implemented.
25.2. UNIX extensions support
Samba uses the CAP_UNIX
capability bit in the SMB protocol to provide the UNIX extensions feature. These extensions are also supported by the cifs.ko
kernel module. However, both Samba and the kernel module support UNIX extensions only in the SMB 1 protocol.
To use UNIX extensions:
-
Set the
server min protocol
parameter in the[global]
section in the/etc/samba/smb.conf
file toNT1
. Mount the share using the SMB 1 protocol by providing the
-o vers=1.0
option to the mount command. For example:# mount -t cifs -o vers=1.0,username=user_name //server_name/share_name /mnt/
By default, the kernel module uses SMB 2 or the highest later protocol version supported by the server. Passing the
-o vers=1.0
option to themount
command forces that the kernel module uses the SMB 1 protocol that is required for using UNIX extensions.
To verify if UNIX extensions are enabled, display the options of the mounted share:
# mount
...
//server/share on /mnt type cifs (...,unix
,...)
If the unix
entry is displayed in the list of mount options, UNIX extensions are enabled.
25.3. Manually mounting an SMB share
If you only require an SMB share to be temporary mounted, you can mount it manually using the mount
utility.
Manually mounted shares are not mounted automatically again when you reboot the system. To configure that Red Hat Enterprise Linux automatically mounts the share when the system boots, see Mounting an SMB share automatically when the system boots.
Prerequisites
-
The
cifs-utils
package is installed.
Procedure
To manually mount an SMB share, use the mount
utility with the -t cifs
parameter:
# mount -t cifs -o username=user_name //server_name/share_name /mnt/ Password for user_name@//server_name/share_name: password
In the -o
parameter, you can specify options that are used to mount the share. For details, see the OPTIONS
section in the mount.cifs(8)
man page and Frequently used mount options.
Example 25.1. Mounting a share using an encrypted SMB 3.0 connection
To mount the \\server\example\
share as the DOMAIN\Administrator
user over an encrypted SMB 3.0 connection into the /mnt/
directory:
# mount -t cifs -o username=DOMAIN\Administrator,seal,vers=3.0 //server/example /mnt/ Password for DOMAIN\Administrator@//server_name/share_name: password
25.4. Mounting an SMB share automatically when the system boots
If access to a mounted SMB share is permanently required on a server, mount the share automatically at boot time.
Prerequisites
-
The
cifs-utils
package is installed.
Procedure
To mount an SMB share automatically when the system boots, add an entry for the share to the /etc/fstab
file. For example:
//server_name/share_name /mnt cifs credentials=/root/smb.cred 0 0
To enable the system to mount a share automatically, you must store the user name, password, and domain name in a credentials file. For details, see Authenticating to an SMB share using a credentials file.
In the fourth field of the row in the /etc/fstab
, specify mount options, such as the path to the credentials file. For details, see the OPTIONS
section in the mount.cifs(8)
man page and Frequently used mount options.
To verify that the share mounts successfully, enter:
# mount /mnt/
25.5. Authenticating to an SMB share using a credentials file
In certain situations, such as when mounting a share automatically at boot time, a share should be mounted without entering the user name and password. To implement this, create a credentials file.
Prerequisites
-
The
cifs-utils
package is installed.
Procedure
Create a file, such as
/root/smb.cred
, and specify the user name, password, and domain name that file:username=user_name password=password domain=domain_name
Set the permissions to only allow the owner to access the file:
# chown user_name /root/smb.cred # chmod 600 /root/smb.cred
You can now pass the credentials=file_name
mount option to the mount
utility or use it in the /etc/fstab
file to mount the share without being prompted for the user name and password.
25.6. Frequently used mount options
When you mount an SMB share, the mount options determine:
- How the connection will be established with the server. For example, which SMB protocol version is used when connecting to the server.
- How the share will be mounted into the local file system. For example, if the system overrides the remote file and directory permissions to enable multiple local users to access the content on the server.
To set multiple options in the fourth field of the /etc/fstab
file or in the -o
parameter of a mount command, separate them with commas. For example, see Mounting a share with the multiuser option.
The following list gives frequently used mount options:
Option | Description |
---|---|
credentials=file_name | Sets the path to the credentials file. See Authenticating to an SMB share using a credentials file. |
dir_mode=mode | Sets the directory mode if the server does not support CIFS UNIX extensions. |
file_mode=mode | Sets the file mode if the server does not support CIFS UNIX extensions. |
password=password |
Sets the password used to authenticate to the SMB server. Alternatively, specify a credentials file using the |
seal |
Enables encryption support for connections using SMB 3.0 or a later protocol version. Therefore, use |
sec=security_mode |
Sets the security mode, such as
If the server does not support the
For security reasons, do not use the insecure |
username=user_name |
Sets the user name used to authenticate to the SMB server. Alternatively, specify a credentials file using the |
vers=SMB_protocol_version | Sets the SMB protocol version used for the communication with the server. |
For a complete list, see the OPTIONS
section in the mount.cifs(8)
man page.