Mounting Samba (CIFS) Share In Linux
This tutorial will show you how to mount a samba/cifs share using either a single BASH command for a temporary mount, or permanently by adding an entry to /etc/fstab.
If you wish to mount a share temporarily, then use a command/script like below:
USERNAME="programster" PASSWORD="putYourPasswordHere" USER_ID=1000 GROUP_ID=$USER_ID SAMBA_SERVER_IP="192.168.1.2" NAME_OF_SHARE="projects" MOUNT_PATH="/mnt/projects" sudo mount -t cifs \ -o username=$USERNAME,password=$PASSWORD,uid=$USER_ID,gid=$GROUP_ID \ //$SAMBA_SERVER_IP/$NAME_OF_SHARE \ $MOUNT_PATH
-o options like so:
Read-Only Access Issue - Specify UID/GID
When I first looked into performing the mounting, I didn't specify the
gid parameters and only had read access (no write). After specifying the UID and GID of my user on my local machine
To find out your user ID, just run:
If you want to find the ID of another user, use:
id -u $USERNAME
Create Credentials File
The first thing we need to do is create a locked down file that will contain the credentials for the samba share:
touch $HOME/.smbcredentials chmod 0600 $HOME/.smbcredentials
Fill it with the relevant settings:
username=myUsername password=myPassword domain=domain_or_workgroupname
Update your fstab
sudo editor /etc/fstab
Add a line similar to below (you will need to swap out the details as appropriate, such as the IP address and mount point etc)
//192.168.0.1/share-name /where/to/mount cifs credentials=/home/username/.smbcredentials,uid=shareUserId,gid=shareGroupId,_netdev,x-systemd.automount,x-systemd.idle-timeout=60s 0 0
_netdevmount option specifies that this is a network device, and thus needs to wait for the network to be available before trying to mount when booting the machine.
If you get the message similar to below:
mount: /where/to/mount: bad option; for several filesystems (e.g. nfs, cifs) you might need a /sbin/mount.<type> helper program.
... then all you need to do is install the cifs-utils package:
sudo apt update \ && sudo apt install cifs-utils -y
- Unix And Linux - Mount cifs Network Drive: write permissions and chown
- Ask Ubuntu - How can I find my User ID (UID) from terminal?
- Ask Ubuntu - Proper fstab entry to mount a samba share on boot?
First published: 17th October 2018