Log In

How to Mount an SMB Share in Linux

How to Mount an SMB Share in Linux
10.07.2024
Reading time: 4 min
Hostman Team
Technical writer

The Server Message Block (SMB) protocol facilitates network file sharing, allowing applications to read and write to files and request services from server programs. This protocol is pivotal for seamless communication between different devices in a network, particularly in mixed OS environments like Windows and Linux.

Mounting an SMB share in Linux enables users to access files on a Windows server or another SMB-enabled device directly from their Linux system. This tutorial will guide you through the process of mounting an SMB share on Linux, ensuring smooth file sharing and network communication.

Prerequisites for Mounting SMB Shares

Before mounting an SMB share, ensure the following prerequisites are met:

  • A Linux system, such as a cloud server, with root or sudo privileges.

  • The cifs-utils package installed on your Linux system.

  • Access credentials (username and password) for the SMB share.

  • Network connectivity between your Linux system and the SMB server.

Installing Necessary Packages

The cifs-utils package is essential for mounting SMB shares on Linux. Additionally, the psmisc package provides the fuser command, which helps manage and monitor file usage.

Update Package List and Upgrade System

First, update your package list and upgrade your system:

sudo apt update

Install cifs-utils and psmisc

Install the necessary packages:

sudo apt install cifs-utils psmisc

Verify Installation

Verify the installation of cifs-utils and availability of the fuser command:

mount -t cifs
fuser

Finding SMB Share Details

Identify the SMB share details, including the server name or IP address and the share name. You might need to consult your network administrator or check the server configuration.

Example:

  • Server: smbserver.example.com
  • Share: sharedfolder

Mounting SMB Shares Using the mount Command

To mount the SMB share, use the mount command with the -t cifs option, specifying the SMB protocol.

Create a directory to serve as the mount point:

sudo mkdir /mnt/smb_share

Mount the SMB share using the following command:

sudo mount -t cifs -o username=your_username,password=your_password //192.0.2.17/SharedFiles /mnt/smb_share

Replace your_username and your_password with your actual username and password. Ensure /mnt/smb_share is an existing directory.

Verifying the Mount

To confirm that the SMB share is successfully mounted, use the mount command:

mount -t cifs

Navigate to the mount point and list the files:

cd /mnt/smb_share
ls

Creating a Credentials File

To avoid entering credentials each time, create a credentials file. This file should be hidden and secured.

Use a text editor to create the file:

nano ~/.smbcredentials

Add the following content, replacing with your actual credentials:

username=your_username
password=your_password

Set appropriate permissions for the file:

sudo chown your_username: ~/.smbcredentials
sudo chmod 600 ~/.smbcredentials

Mount Using the Credentials File

Mount the SMB share using the credentials file:

sudo mount -t cifs -o credentials=~/.smbcredentials //192.168.2.12/SharedFiles /mnt/smb_share

Automating SMB Share Mounts

To automate the mounting process, add an entry to the /etc/fstab file. This will ensure the SMB share is mounted at boot.

1. Open /etc/fstab for editing:

sudo nano /etc/fstab

2. Add the following line:

//smbserver.example.com/sharedfolder /mnt/smbshare cifs username=johndoe,password=securepassword,iocharset=utf8,sec=ntlm 0 0

3. Save and close the file.

4. Test the fstab entry:

sudo mount -a

Ensure no errors are displayed.

Troubleshooting Common Issues

Permission Denied

Check your credentials and permissions on the SMB server.

No Such File or Directory

Ensure the server IP, share path, and mount point are correct.

Mount Error 13 = Permission Denied

Double-check your username and password.

Mount Error 112 = Host is Down

Verify network connectivity and server availability.

Unmounting an SMB Share

To unmount the SMB share, use the umount command followed by the mount point:

sudo umount /mnt/smb_share

Conclusion

Mounting an SMB share in Linux is a straightforward process that enhances file sharing capabilities across different operating systems. By following this tutorial, you can efficiently set up and troubleshoot SMB share mounts, facilitating seamless network communication and file access.


Share