Right way to mount Samba on Debian and Ubuntu
I was trying to mount Samba with following commands:
sudo apt-get update
sudo apt-get install cifs-utils
mkdir -p /mnt/smbshare
sudo mount.cifs //192.168.0.200 /mnt/smbshare -o username=admin,password=1234
Then I create a folder myshare
under the samba server and run:
sudo mount.cifs //192.168.0.200/myshare /mnt/smbshare -o username=admin,password=1234
The command
mount.cifs
actually equalsmount -t cifs
, you can use anyone.
Both were failed.
With error:
[37666.843417] CIFS: VFS: Malformed UNC in devname
and error:
[37645.799522] CIFS: VFS: BAD_NETWORK_NAME: \\192.168.0.200\myshare
[37645.800872] CIFS: VFS: cifs_mount failed w/return code = -2
Reason
To mount
Samba, we have to specify correct server ip and Sharename
.
myshare
is not the correct Sharename
.
Solution
Install smbclient
to get the device name.
sudo apt install smbclient
Use it in the server host.
smbclient -L //192.168.0.200
Sharename Type Comment
--------- ---- -------
_Home1 Disk 1a1fd0dcda5bb1ed0dd3f251eb602eb8
IPC$ IPC IPC Service (MAGE20 share)
Mount:
# mount samba with username and password
sudo mount.cifs //192.168.0.200/_Home1 /mnt/smbshare -o username=admin,password=1234
# Or mount samba with specifying more options
sudo mount.cifs //192.168.0.200/_Home1 /mnt/smbshare -o username=admin,password=1234,uid=1000,gid=1000,file_mode=0770,dir_mode=0770
Here we replaced the folder name myshare
to sharename _Home1
.
Auto mount at os start
sudo vim /etc/smbcredentials
Add following:
username=admin
password=1234
Change permission:
sudo chmod 600 /etc/smbcredentials
Get your uid
and gid
with id
command:
id
Edit fstab
with command:
sudo vim /etc/fstab
add following line:
//192.168.0.200/_Home1 /mnt/smbshare cifs credentials=/etc/smbcredentials,iocharset=utf8,uid=1000,gid=1000,file_mode=0770,dir_mode=0770 0 0