两台同一networking上的Windows PC如何实现相同的名称和身份validation?

我的实验

  • 所以我用两台电脑build立了一个简单的networking。 两人在同一个工作组。
  • 我在计算机1中用口令“A”创build了本地用户“A”。
  • 然后我在计算机2上创build了一个完全相同的名为LOCAL的用户“A”,其密码为“A”。

我的观察

  • 我注意到,当我在计算机2中以“A”login时,我被允许在计算机1中作为“A”访问networking。例如,当浏览“A”共享文件夹时。

我的想法

  • 这很具有讽刺意味,即使他们是相同的名字,他们是在两台不同的计算机上激活两个不同的本地用户!
  • 这对我来说可能是一个安全隐患。 如果一个人在计算机2中有相同的用户名和密码,因此错误地给予计算机1访问权呢?

我的问题:

  • 这是什么共享的用户名和密码叫?
  • 两台同一networking上的Windows PC如何实现相同的名称和身份validation?
  • 我们如何在两台计算机之间启用/禁用共享相同LOCAL用户名和密码?

我也意识到,这也适用于DCOM调用。

谢谢你的回答

—这是一个真正的高层次的总结,不要期望任何技术—

让我们开始吧:

这是什么共享的用户名和密码叫?

“按devise”……或者更具体地说,是“传递authentication”。

两台同一networking上的Windows PC如何实现相同的名称和身份validation?

因为这是它devise的目的。 当Windows尝试访问networking资源,并且资源需要身份validation时,它会通过当前的用户名和密码进行发送。 接收计算机然后validation这一点,并返回成功或失败。 (这真的很简单,它并不实际播放你的密码,但我要去KISS)。

我们如何在两台计算机之间启用/禁用共享相同LOCAL用户名和密码?

老实说,这不是你想要的。 主要是因为用户只需将他们的用户名和密码input凭证框,然后获得他们以前的访问权限即可。 相反,您应该对共享/资源应用安全性,以确保只有您想访问的人才有权访问。

login后,Win框会将密码存储在内核存储器中,并将LM和NT哈希存储在工作组和NT4域中。 (在Active Directory域中,也会存储input密码时获得的Kerberos TGT)。用户空间程序不能直接使用这些散列,但可以让内核使用存储的密码/票据,或者代表应用程序/服务对其他协议(如IMAP或HTTP)执行NTLM质询 – 响应操作或Kerberos身份validation。 此外,Windows使用MD4散列作为本地authentication和NTLM,但这并不重要 – 如果需要,也可以在内存中保存纯文本密码。 希望这解释。