22

I've recently bumped into this problem. I usually navigate through a local network shared folder from a Linux machine via smb (i.e. from file manger using smb: ). Now whenever I try to access the shortcut or typing credential again I keep getting the dialog window asking for user, domain and password.

So I tried mounting the location manually using cisf-utils doing:

sudo mount -t cifs //fileshare1/docs1/user/My\ Documents/shared/Francesco/ /home/frank/used_shared/ -o username=my_user,password=my_pass,domain=my_domain,gid=1000,uid=1000

I get mount error(13): Permission denied.

I'm definitely sure my user has permission on that folder cause I can access it from a windows machine.

Also if I try to mount my personal folder on that location through:

sudo mount -t cifs //fileshare1/docs5/francesco.azzarello/ /home/frank/mnt_folder -o username=my_user,password=my_pass,domain=my_domain,gid=1000,uid=1000

I can access it with no problem.

For reference I'm using 4.2.0-36-generic kernel and my mount.cifs version is 6.4

Any idea on how to make one of both methods work?


Update Rgarding ponsfrilus answer

number 1: verbose option returns:

_mount.cifs kernel mount options: ip=xxx.xxx.xxx.xxx,unc=\\fileshare1\docs1,uid=1000,gid=1000,user=my_user,,domain=my_domain,prefixpath=user/My Documents/shared/Francesco/,pass=********
mount error(13): Permission denied
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)_

Number 2 is basically the same thing:

_ mount.cifs kernel mount options: ip=xxx.xxx.xxx.xxx,unc=\\fileshare1\docs1,iocharset=utf8,file_mode=0777,dir_mode=0777,user=my_user,,domain=my_domain,prefixpath=user/My Documents/shared/Francesco/,pass=********
mount error(13): Permission denied
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)_

And nothing changed with vers=2.1:

_mount.cifs kernel mount options: ip=xxx.xxx.xxx.xxx,unc=\\fileshare1\docs1,vers=2.1,iocharset=utf8,file_mode=0777,dir_mode=0777,user=my_user,,domain=my_domain,prefixpath=user/My Documents/shared/Francesco/,pass=********
mount error(13): Permission denied
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)_

As for number 4 I can mount docs1 no problem but I can navigate tho get to the shared folder in user.

muru
  • 207,228
Frankmtl
  • 431

6 Answers6

22

I'm pretty sure I ran into this exact same problem today on Ubuntu 16.10 I tried all the suggestions in this thread several times, I could mount the exact same share using Windows Server 2016 and I could browse it using smbclient (smbclient -U brainstrust //WINBOX01/shared). I even tried an external credentials file.

I ended up stumbling on a fix - although I'd created a local user for the share on the Windows box, it was also joined to a domain. Basically setting the domain to be the local machine -o domain=WINBOX01 fixed my problem instantly, so leaving a comment here in the hope that its useful to someone out there.

The complete minimal command I used was:

sudo mount.cifs -v //WINBOX01/shared /home/geoff/winbox01  --verbose -o user=brainstrust,password=topsecret,domain=WINBOX01
13

I think you have the wrong security type for the server , error 13 means the server isn't letting you in.

You will need to select the right security mode in your mount command add a sec option via -o as follows [reference]:

sec=
   Security mode. Allowed values are:
   ·   none - attempt to connection as a null user (no name)
   ·   krb5 - Use Kerberos version 5 authentication
   ·   krb5i - Use Kerberos authentication and forcibly enable packet 
       signing
   ·   ntlm - Use NTLM password hashing
   ·   ntlmi - Use NTLM password hashing and force packet signing
   ·   ntlmv2 - Use NTLMv2 password hashing
   ·   ntlmv2i - Use NTLMv2 password hashing and force packet signing
   ·   ntlmssp - Use NTLMv2 password hashing encapsulated in Raw NTLMSSP message
   ·   ntlmsspi - Use NTLMv2 password hashing encapsulated in Raw NTLMSSP message, and force packet signing
caot
  • 103
Amias
  • 5,359
10
  1. Try to add the "-v" option to get verbose output:

    sudo mount -v -t cifs //fileshare1/docs1/user/My\ 
       Documents/shared/Francesco/ /home/frank/mnt_folder -o \
       username=my_user,password=my_pass,domain=my_domain,gid=1000,uid=1000
    
  2. Test with these options to the mount command

    iocharset=utf8,rw,file_mode=0777,dir_mode=0777:

    sudo mount -v -t cifs //fileshare1/docs1/user/My\ 
       Documents/shared/Francesco/ /home/frank/mnt_folder -o 
       username=my_user,password=my_pass,domain=my_domain,\
       iocharset=utf8,rw,file_mode=0777,dir_mode=0777
    
  3. Test specifying the SMB version option (vers=2.1), see the samba wiki. From the mount.cifs man page:

    vers=
    SMB protocol version. Allowed values are:

    • 1.0 - The classic CIFS/SMBv1 protocol. This is the default.

    • 2.0 - The SMBv2.002 protocol. This was initially introduced in Windows Vista Service Pack 1, and Windows Server 2008. Note that the initial release version of Windows Vista spoke a slightly different dialect (2.000) that is not supported.

    • 2.1 - The SMBv2.1 protocol that was introduced in Microsoft Windows 7 and Windows Server 2008R2.

    • 3.0 - The SMBv3.0 protocol that was introduced in Microsoft Windows 8 and Windows Server 2012.

  4. Finally, try to mount only the first share :

    sudo mount -v -t cifs //fileshare1/docs1/ /home/frank/mnt_folder \
       -o username=my_user,password=my_pass,domain=my_domain,\
       iocharset=utf8,rw,file_mode=0777,dir_mode=0777
    

Any verbose output you can share might help.

abu_bua
  • 11,313
ponsfrilus
  • 596
  • 1
  • 5
  • 17
3

For this problem when using cifs higher than 6.0: new version of cifs use the domain variable instead, so creadentials file look like:

username=<your username>
password=<your password>
domain=<your domain>
Félicien
  • 1,203
3

Adding the option sec=ntlm to the mount command resolved my issue.

eg:

sudo mount -t cifs -o username=administrator,password=123456,sec=ntlm //ip/eeshare /mnt/eeshare/
fosslinux
  • 3,881
brike
  • 131
  • 1
0

Let me add my foobar for this situation:

I was providing a default smb_creds file to be used in the mount string:

ro,credentials=/home/ubuntu/.smb_creds,uid=ubuntu,gid=ubuntu

But unfortunately the ansible template file I was using was using CRLF newlines from my windows machine. I had to change the newlines back to linux LF and was able to mount the share.

Same observation as others had: On the first machine I had manually mounted the share to test it via shell commands, then I used the fstab entry above with the wrong line endings in the creds file, but this machine did not complain a bit and used some cached version of the credentials.

This is a WTF. o_0

I only stumbled upon this when I was provisioning another machine with similar smb config only to find out, that I got permission denied.

Hope this is another solution for somebody

Samuel
  • 123