创build一个真正的公共Windowsnetworking共享

我想在Windows下创build一个共享文件夹(实际上,Windows XP,Vista和Win 7),可以从Linux系统挂载而不用提示用户名/密码。 但在尝试这之前,我首先想确定这是在两台Windows 7机器之间运行的。

因此,在机器A(将持有公共共享的服务器)上,我创build了一个文件夹并设置其权限,以使每个人都具有读/写访问权限。 然后我访问了控制面板 – >networking和共享中心 – >高级共享设置,然后select“closures密码保护共享”。 然后,在机器B(想要访问公共共享的客户端,没有用户名/密码提示),我试图“映射networking驱动程序”,我立即提示密码提示。

在谷歌上的一些searchbuild议更改“Acconts:限制本地帐户使用空白密码到控制台login”仅“禁用”。 试过,没有运气,仍然得到用户名/密码提示。

如果input用户名/密码,则不会再提示input密码,只要会话处于活动状态,就可以使用该共享。 但是,我仍然需要访问这个共享,不需要任何用户名/密码的交易,这不仅仅是一个方便的事情。 这是真正的原因:将访问此Windowsnetworking共享的设备是运行uclinux的embedded式系统。 它将在本地安装此共享,然后播放媒体文件。 它唯一的用户界面是基于JavaScript的网页。 所以,如果有任何用户名/密码的交易,我不得不要求用户通过网页进入,这将是可笑的不安全,完全暴露于数据包嗅探。

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

同样的事情可以通过启用来宾用户,然后转到组策略编辑器并从“拒绝从networking访问此计算机”设置中删除“来宾”来实现。 同样,Guest可以挂载公共共享,但不能以Guest身份login到A,因为Guest默认情况下不允许login。

所以我的问题是,我怎样才能创build一个真正公开的networking共享,以便它可以挂载在Linux机器上而不需要密码? 对不起,长的问题,但我想解释真正需要这个的原因…

据我所知,微软认为任何types的访问都是安全风险,只能用于传统支持。 有很好的理由,真的。 这就是为什么启用它是如此痛苦的原因。

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

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

这不是最好的解决scheme,开放的份额会危及安全,但它应该工作。