典型的ISP设置。一台服务器是Web服务器,另一台是DB SQL服务器。在两台机器上都创建了一个本地管理员帐户,比如XYZ。因此,当我远程登录时,我是WebServer \ XYZ或DBServer \ XYZ,具体取决于我登录的位置。
现在,当我使用Windows身份验证登录DBServer上的SQL Server SSMS并执行“SELECT SUSER_NAME()”时,我得到了DBServer \ XYZ。这是有道理的,因为它记录了我使用这些凭据登录的事实。
现在,转到WebServer。我以WebServer \ XYZ远程登录。我在那里安装了SQL客户端组件。当我启动SSMS时,选择DBServer,使用Windows身份验证登录,然后执行“SELECT SUSER_NAME()”,我会以某种方式获得DBSERVER \ XYZ,而不是我认为应该是WebServer \ XYZ。
不知何故,WebServer的XYZ成为DBServer的XYZ。这是为什么?这是怎么发生的?当然,这不仅仅是因为这些名字恰好相同吗?
我听说过受信任的域名,但这两台计算机都不是域控制器,因此我无法访问该信息。如果没有GUI工具,如何判断它是否可信?
我问这个问题的原因是因为,我正在尝试在我的XP笔记本电脑上实现相同的功能(使用Virtual PC),所以我可以模仿生产环境,但我没有运气。
答案 0 :(得分:3)
您XYZ
个帐户似乎在两台计算机上都有相同的密码,并且它们不属于域。
WebServer
仅发送XYZ
作为用户名并成功解答所有密码质询,因为密码确实匹配。
DbServer
,当然,从DbServer/XYZ
开始就认为你,因为它不知道其他人。
当您尝试通过SMB
从另一台独立计算机访问一台独立计算机时,会发生完全相同的事情。如果您的用户名和密码匹配,则表示您已成功。
答案 1 :(得分:3)
机器之间的NTLM挑战有点复杂@Quassnoi表示但它是相似的。这些计算机可能位于同一个域或受信任的域中,但您使用的帐户是本地计算机帐户,仅限于本地计算机的安全访问管理。
作为machinename \ userid格式化的本地SAM帐户是不可传播的。当您尝试使用该帐户对外部资源进行身份验证时,您会遇到一系列协商回退,如下所示:
还可以通过配置禁用回退,防止匿名身份验证非常常见。
正如@Quassnoi所示,在这种情况下,您设法使用#2后备登录。
要启用帐户凭据传播,您需要满足以下条件:
您如何判断您的计算机是否是域的成员?如果你有交互式登录机器,这很容易。有一些策略
IPCONFIG /ALL
还会显示默认的DNS前缀,该前缀通常与您的域名相同。我怀疑您的ISP会创建一个域,以便于管理和监控他们的计算机。他们是否允许您创建域帐户是一个不同的问题。