cifs、smb - 无法挂载(权限被拒绝)或导航共享文件夹

Fra*_*mtl 15 permissions mount samba cifs

我最近遇到了这个问题。我通常通过 smb(即使用 smb: 从文件管理器)从 Linux 机器浏览本地网络共享文件夹。现在,每当我尝试访问快捷方式或再次输入凭据时,我都会收到询问用户、域和密码的对话框窗口。

所以我尝试使用 cisf-utils 手动安装位置:

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
Run Code Online (Sandbox Code Playgroud)

我明白了mount error(13): Permission denied

我绝对确定我的用户对该文件夹有权限,因为我可以从 Windows 机器访问它。

此外,如果我尝试通过以下方式将我的个人文件夹安装在该位置:

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
Run Code Online (Sandbox Code Playgroud)

我可以毫无问题地访问它。

作为参考,我使用的是 4.2.0-36-generic 内核,我的 mount.cifs 版本是 6.4

关于如何使这两种方法之一起作用的任何想法?


更新Rgarding ponsfrilus 答案

数字 1:详细选项返回:

_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)_
Run Code Online (Sandbox Code Playgroud)

数字 2 基本上是一样的:

_ 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)_
Run Code Online (Sandbox Code Playgroud)

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)_
Run Code Online (Sandbox Code Playgroud)

至于数字 4,我可以安装 docs1 没问题,但我可以导航到用户中的共享文件夹。

Geo*_*ams 15

我很确定我今天在 Ubuntu 16.10 上遇到了这个完全相同的问题我多次尝试了这个线程中的所有建议,我可以使用 Windows Server 2016 安装完全相同的共享,我可以使用 smbclient ( smbclient -U brainstrust //WINBOX01/shared)浏览它。我什至尝试了外部凭据文件。

我最终偶然发现了一个修复程序 - 尽管我在 Windows 机器上为共享创建了一个本地用户,但它也加入了域。基本上将域设置为本地机器-o domain=WINBOX01立即解决了我的问题,所以在这里留下评论希望它对那里的人有用。

我使用的完整最小命令是:

sudo mount.cifs -v //WINBOX01/shared /home/geoff/winbox01  --verbose -o user=brainstrust,password=topsecret,domain=WINBOX01
Run Code Online (Sandbox Code Playgroud)


Ami*_*ias 11

我认为您的服务器安全类型错误,错误 13 表示服务器不允许您进入。

您需要在 mount 命令中选择正确的安全模式,通过 -o 添加一个 sec 选项,如下[参考]

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
Run Code Online (Sandbox Code Playgroud)

  • 我尝试了所有这些,根据秒类型,我收到“权限被拒绝”或“未知错误” (2认同)

小智 7

  1. 尝试添加“-v”选项以获得详细输出:

    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
    
    Run Code Online (Sandbox Code Playgroud)
  2. 使用 mount 命令的这些选项进行测试

    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
    
    Run Code Online (Sandbox Code Playgroud)
  3. 测试指定 SMB 版本选项 (vers=2.1),请参阅samba wiki。从 mount.cifs 手册页:

    vers=
    SMB 协议版本。允许的值为:

    • 1.0 - 经典的 CIFS/SMBv1 协议。这是默认设置。

    • 2.0 - SMBv2.002 协议。这最初是在 Windows Vista Service Pack 1 和 Windows Server 2008 中引入的。请注意,Windows Vista 的初始发行版使用了一种不受支持的略有不同的方言 (2.000)。

    • 2.1 - Microsoft Windows 7 和 Windows Server 2008R2 中引入的 SMBv2.1 协议。

    • 3.0 - 在 Microsoft Windows 8 和 Windows Server 2012 中引入的 SMBv3.0 协议。

  4. 最后,尝试只挂载第一个共享:

    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
    
    Run Code Online (Sandbox Code Playgroud)

您可以共享的任何详细输出都可能有所帮助。