使用 Samba 访问无密码用户的 Windows 共享

使用 Samba 访问无密码用户的 Windows 共享

我有一台运行 Windows 7 的笔记本电脑。上面只配置了一个帐户,并且没有密码。

我尝试从运行 Ubuntu 14.04 的 PC 访问其共享,该 PC 配置为位于同一工作组并连接到同一本地网络。

Nautilus 和 smbclient 都无法访问它。例如

$ smbclient //<server>/<share> -U <user>
Enter <user>'s password: 
Anonymous login successful
Domain=[WORKGROUP] OS=[Windows 7 Ultimate 7601 Service Pack 1] Server=[Windows 7 Ultimate 6.1]
tree connect failed: NT_STATUS_ACCESS_DENIED

(当要求输入密码时我只需按 Enter 键)。

具有讽刺意味的是,当 Windows 笔记本电脑上的帐户配置有密码,并且输入正确的密码时,连接就可以正常工作。

理论上,它应该在两种情况下都有效:如果没有密码,并且没有输入密码,则没有理由拒绝访问。那么,为什么它不起作用?Samba 是否将“空密码”视为特殊情况?

答案1

您需要修改 Windows 配置才能执行此操作。从堆栈溢出

转到控制面板>网络和共享中心>更改高级共享设置>启用关闭密码保护共享选项

一旦您改变了这个选项,一切都会正常。

请注意,这实际上剥夺了您可以采取的任何保护措施,以防止攻击者修改您的共享文件。我建议实际设置一个密码,并在 fstab 中添加一个保存了密码的自动挂载条目。

答案2

经过多次折磨和重复折磨后,我找到了部分解决方案。我做了以下事情:

apt-get install samba-client
apt-get install cifs-utils

然后我发出了以下命令:

sudo mount.cifs //192.168.0.2/f$ /mnt/f -o user=administrator

它提示我输入密码,我只需按下回车键就可以了,而不需要输入密码,按下回车键后,共享就被挂载了。

这不是一个完整的解决方案,但至少现在我可以访问共享。

不幸的是,nautilus 等仍然无法提供支持,因为它们使用了其他机制来访问共享。

您将无法仅通过键入smb://192.168.0.2/f$或任何方式来访问您的共享,因为您将陷入登录循环,因为文件管理器仍然无法处理无密码共享。

但至少通过这种方式,您可以将无密码共享挂载到文件夹并通过文件管理器访问该文件夹。

每次要访问无密码共享时,除非您编辑某些配置或进行其他操作,否则您都必须执行此操作。如果您在朋友家中尝试访问共享,这仍然会很不方便,但此时有总比没有好。

无论如何,只需修改命令以满足您的需要,例如更改 IP/共享、您想要安装的位置以及具有共享的帐户的用户名。

sudo mount.cifs //192.168.0.2/f$ /mnt/f -o user=administrator

这是我见过和知道的正确访问无密码管理共享的唯一方法,并且我相信它可以与常规无密码共享一起使用。

如果有人知道如何让文件浏览器工作,smb://我仍然想知道,但我无法弄清楚,而且看起来其他人也不知道。

相关内容