使用 cifs 挂载 Windows 共享会导致“错误:13(权限被拒绝)”

使用 cifs 挂载 Windows 共享会导致“错误:13(权限被拒绝)”

Ubuntu 12.04.1 LTS,内核 3.2.0-57-通用 Windows Server 2008 R2 SP1 x64

尝试设置从 Ubuntu 12.04 到 Windows Server 2008 R2 的网络共享,但是无论进行什么更改,共享都无法安装,因为错误(13):权限被拒绝。

两台服务器之间的防火墙端口 445 已打开,这使我能够互相 ping 通服务器,因此防火墙上不会有任何东西阻止连接。

Windows 服务器不是域的一部分,因此我尝试过使用和不使用工作组选项。 Windows 帐户没有被禁用,我经常检查以确保我没有锁定它。尝试使用包含小写/大写字母数字的 16 个字符密码。没有特殊字符。

Windows高级共享权限有所有人(完全/读/写)和用户帐户(完全/读/写)权限。 Windows 文件夹安全性有每个人(完全/读/写)和用户帐户(完全/读/写)。我可以使用与下面的安装命令相同的用户名/密码从本地盒子访问 Windows 共享。 Windows 共享位于 C:\Share。

Windows 事件查看器将其报告为未知用户名或错误密码,无论是否带有 sec=ntlmv2 或 sec=ntlm。对 sec 选项的任何更改仍然会提供错误(13)。用户帐户是服务器上的管理员,我已经输入并重新输入并将密码从复杂的密码重置为简单的密码,但仍然没有完成。我的本地盒子可以通过windows共享连接任何版本的密码设置都没有问题。

Windows 网络连接被视为公共网络。在网络和共享中心下,高级共享设置->家庭/工作和公共 - 公共文件夹共享已设置为打开。密码保护共享-> 打开,因为我尝试使用服务器本地的管理员帐户。

/mnt/share 目录已创建,并已使用 rw-rw-r--、rwxrwxrwx、rw-rw-rw-、rwxrwxrw- 权限进行了测试,以防万一它在 linux 端有问题。

我尝试了 user= 和 username= 以及下面列出的所有命令。除非需要,还要确保不要使用任何额外的空格。命令中的任何地方都没有使用引号,我读到有些人正在做 username='user'

以下收到错误:13(权限被拒绝)

sudo mount -t cifs //{ipaddress}/share /mnt/share -o user={user},password={pass}
sudo mount -t cifs //{ipaddress}/share /mnt/share -o user={user},password={pass},nosuid
sudo mount -t cifs //{ipaddress}/share /mnt/share -o user={user},password={pass},sec=ntlm
sudo mount -t cifs //{ipaddress}/share /mnt/share -o user={user},password={pass},sec=ntlmssp
sudo mount -t cifs //{ipaddress}/share /mnt/share -o user={user},password={pass},workgroup=workgroup,file_mode=0777,dir_mode=0777,iocharset=utf8
sudo mount -t cifs //{ipaddress}/share /mnt/share -o user={user},password={pass},workgroup=workgroup,file_mode=0777,dir_mode=0777,iocharset=utf8,sec=ntlm

sudo mount.cifs //{ipaddress}/share /mnt/share -o user={user},password={pass},port=445
sudo mount.cifs //{ipaddress}/share /mnt/share -o user={user},password={pass},port=445,nosuid
sudo mount.cifs //{ipaddress}/share /mnt/share -o user={user},password={pass},port=445,sec=ntlm
sudo mount.cifs //{ipaddress}/share /mnt/share -o user={user},password={pass},port=445,sec=ntlmssp
sudo mount.cifs //{ipaddress}/share /mnt/share -o user={user},password={pass},port=445,workgroup=workgroup,file_mode=0777,dir_mode=0777,iocharset=utf8
sudo mount.cifs //{ipaddress}/share /mnt/share -o user={user},password={pass},port=445,workgroup=workgroup,file_mode=0777,dir_mode=0777,iocharset=utf8,sec=ntlm

以下收到错误:22(无效参数)

sudo mount.cifs //{ipaddress}/share /mnt/share -o user={user},password={pass},port=445,sec=ntlmv2
sudo mount -t cifs //{ipaddress}/share /mnt/share -o user={user},password={pass},sec=ntlmv2
sudo mount -t cifs //{ipaddress}/share /mnt/share -o sec=ntlmv2,user={user},password={pass},port=445

我还下载并尝试了过时的 SMBFS,它也产生了 Error:13

有什么想法吗?

答案1

我有同样的问题。然而,通过添加osec标志似乎对我有用。我无法创建任何新文件/文件夹,但可以写入现有文件。

//{ip_address}/{sharename}  /mnt/server1  cifs (rw,nodev,uid=0,gid=0,credentials=/home/{user}/.smbcredentials,iocharset=utf8,file_mode=777‌​,dir_mode=777,osec=ntlmv2) 0 0

我的档案里有这个/etc/fstab

答案2

能够通过使用比以前更短的密码来解决问题,旧密码是 16 个字符,新密码是 10。此外,即使在使用诸如

sudo mount -t cifs //{ipaddress}/share /mnt/share  -o user={},password={},domain={},port=445

我无法写入,但能够查看 Windows 服务器上所做的任何更改。我需要包括

file_mode=0xxx,dir_mode=0xxx

或允许用户通过 SFTP 写入 Linux 文件夹的权限组合,该文件夹是 Windows 服务器文件夹的挂载点。

答案3

旧线程,是的,但我遇到了同样的问题,然后我终于意识到可能是什么问题,这是我的用户名。我必须将语法中的用户名更改为 {Everyone},它就像一个魅力。

相关内容