如何在 Linux 中挂载公共 Windows 共享

如何在 Linux 中挂载公共 Windows 共享

我认为这更多的是一个 Windows 配置问题。

目标:访问 Windows 10民众来自 Linux 的共享。

在此上下文中:“服务器”是一台简单的独立 Windows 10 机器,“客户端”是 Debian 稳定版。

我在 Windows 10 计算机上共享了一个文件夹。它与“所有人”共享,并且“所有人”都具有“读/写”访问权限。在文件夹属性对话框的安全选项卡中,“所有人”再次被授予“完全控制”。我特别希望这个文件夹可供所有人公开访问,IE创建特定用户不是一个选项。我可以访问我的无密码 \\servername\sharename在 Windows 中正好, 然而,

我在从 Linux 机器安装共享文件夹时遇到问题。似乎 Windows 10 强制要求注册用户才能访问。是这样吗?如何克服它?我的 Windows 10 是企业版。

按照https://wiki.ubuntu.com/MountWindowsSharesPermanently

guest 表示您不需要密码即可访问共享

$ sudo mount.cifs //servername/sharename /media/windowsshare -o 'guest,iocharset=utf8'
mount error(13): Permission denied

# error log:
CIFS: Status code returned 0xc0000072 STATUS_ACCOUNT_DISABLED

以下是我从互联网上找到的各种建议中尝试过的其他选项:

  • -o 'username=guest,password=,iocharset=utf8'
  • -o 'user=administrator,password='
  • -o 'username=Everyone,password=,iocharset=utf8'
  • -o 'sec=none,iocharset=utf8'

全部失败并出现各种错误:

CIFS: Status code returned 0xc0000072 STATUS_ACCOUNT_DISABLED
VFS: cifs_mount failed w/return code = -128

CIFS: Status code returned 0xc000006d STATUS_LOGON_FAILURE
VFS: cifs_mount failed w/return code = -13

CIFS: Status code returned 0xc0000022 STATUS_ACCESS_DENIED
VFS: cifs_mount failed w/return code = -13

我也尝试在 Windows 配置中的“访客或公共”访问下启用文件共享,但它也不起作用。

请帮忙。

更新:

“Everyone” 被列为具有“完全控制”访问权限: 在此处输入图片描述

Windows 10 本地安全策略设置刚刚按照以下说明进行了更正: 在此处输入图片描述

现在:

$ sudo mount.cifs -v //servername/sharename /media/windowsshare -o 'guest,iocharset=utf8'
mount.cifs kernel mount options: ip=192.168.0.xx,unc=\\servername\sharename,iocharset=utf8,user=,pass=********
mount error(13): Permission denied

# error log:
CIFS: Status code returned 0xc0000022 STATUS_ACCESS_DENIED
CIFS: VFS: cifs_mount failed w/return code = -13

# and trying to add `,vers=2.1` will get the same result as well.

$ sudo mount.cifs //servername/sharename /media/windowsshare -o 'guest,iocharset=utf8,vers=1.0'
mount error: Server abruptly closed the connection.
This can happen if the server does not support the SMB version you are trying to use.
The default SMB version recently changed from SMB1 to SMB2.1 and above. Try mounting with vers=1.0.
mount error(112): Host is down

# error log:
[22997.487658] Use of the less secure dialect vers=1.0 is not recommended unless required for access to very old servers

[22997.494779] CIFS: VFS: Use of the less secure dialect vers=1.0 is not recommended unless required for access to very old servers
[22997.505612] CIFS: VFS: cifs_mount failed w/return code = -112

答案1

确保共享文件夹在 Windows 10 计算机上配置正确:

打开共享文件夹的文件夹属性对话框。

在共享选项卡中,单击“高级共享”按钮。

选中“共享此文件夹”复选框并提供共享名称。

单击“权限”按钮,并确保“所有人”都具有“完全控制”访问权限。

检查Windows 10本地安全策略设置:

在 Windows 10 机器上打开本地安全策略。

导航到“本地策略”>“安全选项”。

查找名为“网络访问:本地帐户的共享和安全模型”的策略,并确保其设置为“仅限访客 - 本地用户以访客身份进行身份验证”。

在您的 Debian 客户端上尝试不同的挂载选项:

在您的 Debian 机器上打开一个终端并使用以下命令挂载 Windows 共享:

sudo mount -t cifs //servername/sharename /media/windowsshare -o guest,iocharset=utf8

如果上述命令不起作用,您可以尝试指定 vers 选项来强制特定的 SMB 版本:

sudo mount -t cifs //servername/sharename /media/windowsshare -o guest,iocharset=utf8,vers=1.0

验证防火墙设置:

检查 Windows 10 防火墙设置,确保它们允许来自 Debian 客户端的传入连接。

确保 Windows 计算机上的任何第三方安全软件或防病毒程序没有阻止网络访问。

如果您仍然遇到问题,请提供任何错误消息或进一步的详细信息,以便我们为您提供帮助。

答案2

这可能与 Windows 的组策略有关”网络访问:让“所有人权限“适用于匿名用户“@Computer Configuration\Windows Settings\Security Settings\Local Polices\Security Options

它默认是禁用的,并且可能是您遇到的罪魁祸首。

相关内容