创建真正公共的 Windows 网络共享

创建真正公共的 Windows 网络共享

我想在 Windows(实际上是 Windows XP、Vista 和 Win 7)下创建一个共享文件夹,该文件夹可以从 Linux 系统挂载,而无需提示输入用户名/密码。但在尝试此操作之前,我首先想确定这在两台 Windows 7 计算机之间有效。

因此,在计算机 A(将容纳公共共享的服务器)上,我创建了一个文件夹并将其权限设置为每个人都具有读/写访问权限。然后我访问控制面板 -> 网络和共享中心 -> 高级共享设置,然后选择“关闭受密码保护的共享”。然后,在计算机 B(想要在没有用户名/密码提示的情况下访问公共共享的客户端)上,我尝试“映射网络驱动程序”,并立即收到密码提示。

谷歌上的一些搜索建议将“帐户:限制本地帐户使用空白密码仅用于控制台登录”更改为“已禁用”。试过了,没有成功,仍然得到用户名/密码提示。

如果我输入用户名/密码,系统不会再次提示我输入,只要会话处于活动状态,我就可以使用共享。但我仍然需要访问共享,而不需要任何用户名/密码事务,这不仅仅是为了方便。实际原因如下:访问此 Windows 网络共享的设备是运行 uclinux 的嵌入式系统。它将在本地安装此共享,然后播放媒体文件。它唯一的用户界面是基于 javascript 的网页。因此,如果要进行任何用户名/密码事务,我必须要求用户通过网页输入它们,这将非常不安全,并且完全暴露在数据包嗅探之下。

经过几个小时的实验,我找到了一种实现此目的的方法,但我并不是很喜欢它...我首先创建一个新用户(shareuser)并为其设置密码(sharepass)。然后我打开组策略编辑器并将“拒绝本地登录”设置为“A\shareuser”。然后,我在 A 上创建一个文件夹并共享它,以便 shareuser 对其具有读取权限。这样,shareuser 无法登录 A,但可以访问共享文件夹。而且,如果有人通过网络嗅探发现 shareuser/sharepass,他们只能访问共享文件夹,但不能登录 A。

启用 Guest 用户,然后转到组策略编辑器并从“拒绝从网络访问此计算机”设置中删除“Guest”,也可以实现相同的效果。同样,Guest 可以挂载公共共享,但无法以 Guest 身份登录 A,因为默认情况下已不允许 Guest 登录。

所以我的问题是,如何创建一个真正公开的网络共享,以便可以从 Linux 机器上挂载它而无需密码?抱歉问题太长,但我想解释一下真正需要这个的原因...

答案1

据我所知,微软认为任何类型的匿名访问都存在安全风险,仅在旧版支持中才有可能。确实有充分的理由。这就是为什么启用它如此麻烦的原因。

您已经有一个通过修改系统策略条目来使其工作的流程,因此您需要一种以编程方式执行此操作的方法。

由于组策略选项只是注册表项,因此请找出哪些选项对应于启用来宾帐户进行远程访问,并在提升的安装过程中对其进行修改。策略选项和注册表项之间的映射保存在目录.admx中的文件中C:\Windows\PolicyDefinitions

这不是最完美的解决方案,并且开放共享会危及安全,但它应该可以发挥作用。

相关内容