mount.smb3
Mount SMB/CIFS network shares
TLDR
View documentation for the original command
SYNOPSIS
mount.smb3 //server/share /mountpoint [-o options]
PARAMETERS
user=username
Specifies the username for authentication on the SMB server. Often used with pass or a credentials file.
pass=password
Provides the password for the specified user. It is generally recommended to use a credentials file for security reasons instead of directly on the command line or in /etc/fstab.
domain=domain_name
Specifies the Windows domain or workgroup to authenticate against.
cred=filename
Points to a file containing the username, password, and optionally domain. This is the most secure way to provide credentials.
vers=protocol_version
Specifies the SMB protocol version to use (e.g., 3.0, 3.02, 3.1.1). For mount.smb3, this is often implicitly set to 3.x or higher, but can be overridden for specific needs.
rw
Mounts the share in read/write mode.
ro
Mounts the share in read-only mode.
file_mode=mode
Sets the default file permissions (octal) for new files on the mounted share.
dir_mode=mode
Sets the default directory permissions (octal) for new directories on the mounted share.
uid=id
Sets the user ID (UID) that will own all files and directories on the mounted share, overriding the default.
gid=id
Sets the group ID (GID) that will own all files and directories on the mounted share, overriding the default.
seal
Enables SMB3 encryption (SMB 3.1.1) for all data transferred over the connection, significantly enhancing security.
nounix
Disables UNIX extensions. Useful when connecting to servers that don't fully support or implement them correctly, leading to more predictable behavior.
iocharset=charset
Specifies the I/O character set for converting filenames to and from the server's encoding. Common values include utf8.
nofail
Used in /etc/fstab to prevent the system from halting boot if the mount fails.
DESCRIPTION
The mount.smb3 command is a specialized helper program designed to mount network file shares using the Server Message Block (SMB) protocol, specifically enforcing or defaulting to SMB version 3.x (SMB3). While often implemented as a symlink or wrapper script around the more general mount.cifs utility, its naming highlights its focus on modern SMB protocols. mount.smb3 allows Linux systems to access files and directories on Windows servers or other SMB-enabled network-attached storage (NAS) devices that support SMB3.
SMB3 offers significant improvements over older versions, including enhanced security features like end-to-end encryption (seal option), improved signing, and better performance for large file transfers. It facilitates seamless integration of Linux clients into environments where Windows file sharing is prevalent, supporting various authentication methods, user and group ID mapping, and file permission handling. This command is part of the cifs-utils package, which provides the necessary tools for interacting with CIFS/SMB file systems.
CAVEATS
The mount.smb3 command relies on the cifs-utils package and the cifs kernel module. Ensure both are installed and loaded on your system. Directly embedding passwords on the command line or in /etc/fstab is a security risk; using a credentials file (cred= option) with restricted permissions is strongly recommended. Firewall rules on both the client and server must allow SMB traffic (typically TCP ports 139 and 445). Compatibility issues can arise with older SMB servers if SMB3 encryption is enforced, though mount.smb3 is primarily for modern SMB setups.
PROTOCOL VERSIONING
SMB3 encompasses several sub-versions (e.g., 3.0, 3.02, 3.1.1). While mount.smb3 implies SMB3 usage, the vers option allows explicit control over the exact protocol version. The kernel module will negotiate the highest common version supported by both client and server, but vers can force a minimum or maximum. For security, always prefer the highest available version.
CREDENTIALS HANDLING
Securely managing credentials is vital. Instead of user and pass on the command line or in /etc/fstab, create a credentials file (e.g., ~/.smbcredentials) with content like:
username=myuser
password=mypass
domain=mydomain
Then, set its permissions strictly (e.g., chmod 600 ~/.smbcredentials) and use the cred=filename option when mounting.
HISTORY
SMB (Server Message Block), originally known as CIFS (Common Internet File System), has been the de-facto standard for network file sharing in Windows environments for decades. Linux's support for SMB/CIFS evolved significantly over time. Early implementations like smbfs were replaced by the more robust cifs kernel module and user-space utilities in the cifs-utils package, which became the standard for mounting SMB/CIFS shares. The introduction of SMB2 and especially SMB3 brought crucial enhancements in performance, security (e.g., encryption, signing), and resilience. While mount.cifs provides general SMB/CIFS mounting capabilities, the conceptual or actual existence of mount.smb3 as a wrapper or symlink emerged to specifically highlight and leverage the benefits of the SMB3 protocol, ensuring modern security and performance features are utilized by default or by explicit intention.
SEE ALSO
mount(8), umount(8), mount.cifs(8), cifs.upcall(8), smbclient(1)


