或者:“这是个什么东西?我该如何检查它呢?”
在环境中没有域控制器,当访问 Windows Server 2008 R2 上的共享时,从远程计算机服务器上没有匹配的用户帐户,(并通过\\SERVERNAME\ShareName
从开始菜单键入进行连接)我目前根据“密码保护的共享”设置(高级共享设置)观察到以下行为:
当“密码保护的共享”处于开启状态时在,所有尝试的连接都会在 30 秒后失败:
登录失败:未授予用户在此计算机上请求的登录类型。
开启“密码保护共享”离开,允许连接到匿名访问的共享,而权限受限的共享则失败,并出现以下情况:
您无权访问 \SERVERNAME\ShareName。请联系网络管理员以请求访问权限。
这似乎是预期的行为。我需要让某些共享可供匿名登录访问,因此我不得不将此设置从默认设置更改为离开。
然而,这里还有第三种情况。(啥?)
如果您尝试连接到共享无需修改此设置(即设置为在但你从未点击过它),连接的行为类似于在上面提到的情况是,最多需要 30 秒才能显示响应,但随后它会显示一个身份验证对话框:
经过几天的摸索,我终于有了这个想法,并在没有现有共享的服务器上复制了此操作:创建匿名读取共享,尝试连接并获取对话框,更改设置,连接成功,更改设置后退,并收到不同的错误消息。(在新的客户端系统上测试了所有这些,因此不存在缓存风险。)
重申一下:我已经控制了客户端系统。这似乎完全与服务器有关。
因此,对我来说很明显,更改“密码保护的共享”设置在后台会更改多个内容(注册表项?我是 Mac 原生用户),并且系统附带的默认设置并不全部与控制面板中反映的设置匹配(或者控制面板本身已损坏,应该更改更多内容)。
所以问题是:这是设计使然,还是一个错误?无论是哪种情况,被更改或保持不变的“隐藏设置”是什么?如何追踪它?我没有新服务器可以测试。:-(
答案1
这确实激起了我的兴趣。我能够在我的实验室中复制您的发现,结果与您描述的相同。我使用 Procmon 尝试查看发生了哪些变化,几乎要放弃了,直到我看到以下内容:
这表明 lsass.exe(本地安全机构)正在写入本地 SAM 并对内置来宾帐户(众所周知的 RID 501)进行更改。果然,当我在观察来宾帐户状态的同时重新测试您的场景时,我看到当“密码保护共享”被禁用时,它被启用。但是,当重新启用“密码保护共享”时,来宾帐户不会再次被禁用。手动禁用来宾帐户会恢复原始功能:系统会提示我输入凭据(即您的第三种情况)。
我不确定为什么会出现这种情况。说实话,在今天之前我从未切换过“密码保护共享”设置(甚至没有注意到它)。我希望这对您的项目有所帮助。如果其他人有兴趣进一步挖掘,那么了解此行为是否仍然存在于 Server 2012/2012 R2 上将会很有趣...
哦,对于您最初的问题(这是设计使然还是一个错误?),我一点也不知道……
答案2
如果我正确理解了您的问题,那么共享的凭据将保存在控制面板下的凭据管理器中。
为了提示身份验证对话框,只需删除凭证管理器下与该共享相关的凭证。
当您选中“记住我的凭据”时,这通常保存在凭据管理器下,如果此密码错误,那么您将看到登录失败错误。
答案3
可能对您没有帮助,但万一有帮助 - 我经常接到用户无法访问共享(他们的旧密码被 Windows 缓存)的电话,我让他们这样做:
净使用量 * /D