我有一台装有 Windows Server 2008(“R1”)SP2 的计算机,我将其用作家庭服务器,另一台装有 Windows 8.1(“家庭”)的计算机,我每天都会使用它。网络中没有域控制器。我使用用户 A 登录 Windows 8.1,我们将其称为 PC\AUser。服务器上没有用户 A。我有一个与用户 B 共享的文件夹,我们将其称为 SERVER\BUser。
当我开始->运行 \SERVER\SharedFolder\ 时,如何强制 Windows 8.1 要求输入凭据?
目前我只收到此错误:“您无权访问 \SERVER\SharedFolder。请联系您的网络管理员以请求访问权限。”
我已经能够通过将“Everyone”添加到权限列表中来共享不受保护的文件夹。但是,一旦我删除“Everyone”,Windows 8 客户端就会显示“您无权访问此文件夹”,无需任何凭证。
我在 2000 和 XP 时代就已经这样做了......
如何在 Windows 8.1 中强制提示输入凭据?
更新:
我使用以下命令从 Linux 客户端访问它:
smbclient //SERVER/SharedFolder mypassword -U BUser
因此,这将问题转移到 Windows 8.1 客户端 - 服务器配置正常。
更新 2:
根据要求,这是我收到的错误消息。它是葡萄牙语,但有经验的用户会认出这个窗口。它显示“标题:网络错误。Windows 无法访问 [文件夹]。您无权访问 [地址]。请联系网络管理员以请求访问权限。”
更新 3:
我已经能够使用“映射网络驱动器...”选项连接到共享并手动设置凭据 - 但首先我必须取消映射共享,net use /delete
因为 Windows 似乎在失败的连接尝试上创建了过时的映射(wtf?)。这样,它至少现在对我来说是可用的。但如果有人能解决或解释 Windows 8.1 因权限错误而无法连接而不是要求提供凭据的问题,我会给予赏金。
最后更新:
找到解决方案了!我已将其发布为答案。
答案1
发帖人发现,禁用 Guest 帐户后,Windows 要求输入凭据。我认为有必要对此行为进行解释(引自此来源),这种情况从XP之后到Vista开始就彻底改变了。
Windows XP 引入了一个名为“简单文件共享”的概念,启用后,文件共享的安全性将完全消失。所有网络访问都是在来宾用户帐户的上下文中完成的,无论远程用户的实际帐户名称是什么。本质上,任何能够物理访问您网络的人都可以访问任何共享文件。这让您家中和办公室中的其他人更容易访问彼此的文件。
Windows 8、7 和 Vista 也包含简单文件共享,尽管现在它被称为密码保护共享。而且,在这两个较新的操作系统上,禁用和启用该功能的效果是相反的。
此设置并非始终可更改。在 Windows XP Home Edition 中,简单文件共享始终处于选中状态,无法关闭。在所有其他版本的 Windows 中,都可以打开或关闭它,除非计算机是域网络的成员。在这种情况下,始终需要密码。
最后。当关闭密码保护共享时,Windows 8 和 7 在安全性方面有了新的变化。在 Vista 和 XP 上,当不需要密码时,所有传入的网络访问都使用 Guest 帐户。因此,如果文件可以由用户帐户 Guest 或用户组 Everyone 访问,则网络上的任何人都可以访问共享文件夹中的任何文件。
但是在 Windows 8 和 7 上,当远程用户尝试使用关闭密码保护共享的 Windows 8 或 7 计算机共享的文件夹或文件时,会发生以下情况:
- 如果远程用户的帐户与 Windows 8 或 7 共享计算机中的帐户匹配,并且该帐户已设置密码,则该帐户用于文件访问
- 如果远程用户的帐户与共享计算机中的帐户匹配,但该帐户未设置密码,则使用访客帐户。
- 如果远程用户的帐户与共享计算机中没有帐户匹配,则使用来宾帐户。
这可能看起来有些复杂,但实际上这是一个非常有用的更改。首先,此更改对于支持新的 HomeGroup 功能是必要的。所有家庭组成员计算机都使用一个名为 HomeGroupUser$ 的特殊密码保护帐户来访问其他成员计算机,并且此更改使其无论密码保护共享是否打开都可以正常工作。其次,它使您可以选择授予指定用户额外的访问权限,而无需您设置全面的安全方案。
答案2
这不是这篇文章的答案(见我的其他答案),但它可能对不同情况下的其他人有用,因此投反对票是没有意义的。
您可能已经在连接时使用了一些凭据,但这些凭据没有必要的权限,或者曾经拥有这些权限但现在不再拥有。Windows 将坚持在每次连接时使用该无用的凭据,从而产生一个非常好的陷阱。
要让 Windows 忘记该凭据,请执行以下操作:
- 去
Control Panel > User Accounts > Manage your credentials
- 检查下面的凭证列表
Windows Credentials
- 单击凭证右侧的向下箭头查看详细信息
- 单击
Remove from vault
删除。 - 在以管理员身份运行的命令提示符中输入
net use * /DELETE
。
(这将删除所有网络共享的凭据。)
答案3
访问共享基于用户的,不是基于密码的。
为您的共享实现基本保护的最简单方法是:
- 创建一个受密码保护的用户帐户在您的服务器上,
- 分配给该用户必要的股份权利(就像分配给 Everyone 组一样),
- 确保同一用户在文件系统级别也拥有必要的权限(这与共享权限是分开的,但两者都是必需的)。
之后,访问共享时使用该用户的登录名和密码。
答案4
好吧,伙计们,我抢先了一步。:)
摆弄服务器时,我决定检查计算机管理中共享文件夹下的“会话”。
- 令人惊讶的是,我的 Windows 8.1 计算机正在连接访客帐户!
- 然后,我继续禁用 Guest 帐户:
关闭上面显示的访客会话
然后...通过 Windows -> 运行连接到共享
成功!