How to properly mount a CIFS share on Linux for FileCloud
You might need to mount a CIFS network share on Linux, so that FileCloud server can use storage from devices over the network for both local storage as well as external shares.
Use these instructions to mount a CIFS share in a way that prevents that FileCloud from encountering any permission issues.
Assumptions
Parameter | Value |
---|---|
Remote CIFS share path | //192.168.1.120/storage |
Local mount path | /mnt/storage |
CIFS user | username |
CIFS password | password |
Apache user uid | 33. Note: check your server for the right uid |
Apache user gid | 33. Note: check your server for the right gid |
Pre-requisites
Ensure the command mount.cifs is present in your distro. Here is the list of packages that provide this utility in different distros.
Required Packages
Ubuntu: cifs-utils
user@host:~$ sudo apt-get update user@host:~$ sudo apt-get install cifs-utils
Mounting
Use the following command to mount the CIFS share
user@host:~$ mount -t cifs -o username=username,password=password,uid=33,gid=33,rw,nounix,iocharset=utf8,file_mode=0777,dir_mode=0777 //192.168.1.120/storage /mnt/storage or if you have credential files at /root/.this-creds-file user@host:~$ mount -t cifs -o credentials=/root/.the-creds-file,uid=33,gid=33,rw,nounix,iocharset=utf8,file_mode=0777,dir_mode=0777 //192.168.1.120/storage /mnt/storage
Auto Mounting
To perform auto mounting of windows share, you need to create a password file and use that in /etc/fstab. Follow the steps here:
Create a file /root/.smbcredentials with the following content.
Command Lineusername=winuser password=winpass
Here winuser and winpass are the username and password for the remote CIFS share.
Change the permissions such that only root can read the file.
Command Line# sudo chmod 700 /root/.smbcredentials
Now add the following line in /etc/fstab file.
Command Line//192.168.1.120/storage /mnt/storage cifs credentials=/root/.smbcredentials,uid=33,gid=33,rw,nounix,iocharset=utf8,file_mode=0777,dir_mode=0777 0 0
Test if the line added in the fstab file works.
Command Line# sudo mount -a
Now the remote share should be mounted at /mnt/storage.