当我共享文件夹时,只有将权限设置为“所有人”时,它才有效。如何使用特定的用户名/密码共享特定文件夹,以便只有知道该用户名/密码的人才能访问它?更具体地说,如何才能使同一台计算机上的两个不同的共享文件夹可以通过 2 个不同的用户名和密码访问,例如 1 个文件夹对所有人公开,而另一个文件夹仅对组织中的 2 个人保密?
前言
右键单击文件夹->属性->共享选项卡->高级共享->勾选“共享此文件夹”复选框,然后在“权限”按钮下:
在具有本地 Windows 帐户“userA”的 PC1 上,我共享文件夹 A,并指定用户“everyone”具有完全控制权限,并且如预期的那样,它在 PC2 上完全可以正常工作:它要求输入用户名/密码,因此我单击“使用其他帐户”,然后输入“userA”(该帐户存在于 PC1 上,但不在 PC2 上)以及密码,它就可以正常工作。
然后,仍然在 PC1 上,我共享了文件夹 B,只给它“用户 B”完全控制权,没有其他用户。尝试连接到 PC2 上的共享文件夹时,系统提示我输入凭据,因此我像以前一样单击“使用其他帐户”,但在输入密码“用户 B”后,系统显示一个窗口,提示:正在尝试连接到 \PC1\folderB... 15 秒后,系统提示:指定的网络文件夹当前使用不同的用户名和密码进行映射。(但事实并非如此)
与“所有人”用户共享
我在网上找到的每个教程都说要将“所有人”用户添加到权限中!这简直是胡说八道。当然可以,但每个人都可以看到该文件夹的内容!我希望这个特定文件夹只能由组织中的 2 个人访问,而不是每个人都可以访问!
破解解决方案
编辑:好了,3 个小时过去了,现在我开始了解 Windows 中的文件夹共享。看来 Windows 只能连接到每个主机的一个用户名/密码。这意味着,如果我将 2 个文件夹共享给不同的用户名/密码,我将只能访问其中一个,直到我重新启动计算机。我设法通过以下技巧获得了 2 个具有不同用户名/密码的共享:在客户端计算机(例如 PC2)上,将网络驱动器映射到 \PC1\folderA(使用 userA/passA),将另一个映射到 \192.168.0.123\folderB(使用 userB/passB),显然 192.168.0.123 是 PC1 的本地 IP 地址。如果我想使用另一个用户名/密码共享第三个文件夹,我将完全陷入困境,但幸运的是,我只需要 2 对用户名/密码。谢天谢地。为什么在四分之一世纪之后,Windows 共享文件夹“功能”仍然如此糟糕?! 35 多年来,Linux 在这一功能上一直处于领先地位!
网络安全黑客
按照 @jw_ 的解决方案,使用“net use”命令,我首先尝试清除 net use 密码,然后映射文件夹 A,这有效。然后我尝试映射文件夹 B。它没有要求我输入此密码。相反,它打印了一个奇怪的列表,我无法访问文件夹 B 共享,尽管它在命令行提示符中说映射时操作已成功完成。然后我尝试清除 net use 密码,文件夹 A 和文件夹 B 映射都已列出,因此它在尝试映射文件夹 B 时做了一些事情,但就是不起作用!
答案1
根据您找到的解决方案:
Samba登录窗口经常会出现问题,遇到问题可以使用命令行:
(0)打开命令行窗口,我的方法是 WinKey+R 然后输入 cmd 并回车
(1)清除所有垃圾:
net use * /del
然后“是”。这将删除系统中有关 Samba 登录到其他机器的所有记录。
我猜
net use <ip address> /del
可以仅删除有关使用登录到单个远程机器的记录,但我从未尝试过这样做,因为在我的使用中始终只有一个连接。
(2)挂载共享:
net use \\<ip address>\<folder> /user:<user name>
建立 Samba 连接,然后会要求您输入密码并输入。
(3)现在只需像往常一样在 Explorer 中访问该计算机即可,例如
"\\<ip address>" or "\\<ip address>\<folder>"
,那么 Windows 就一定不会询问您任何密码。
事实上,由于此类问题非常常见,我总是运行批处理文件来设置连接,然后转到 Explorer 继续。每台远程机器一批。