将kinit与keytab文件一起使用时会发生什么
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将kinit与keytab文件一起使用时会发生什么相关的知识,希望对你有一定的参考价值。
希望更多地了解kinit和keytab文件的使用。例如,如果我已经为服务生成了keytab文件(由ktpass
-mapuser
注册到活动目录的服务到someuseraccount
)
ktab -k "mykeytab" -a <someprincipal>
当用户调用USERA
登录到Windows并使用此密钥表作为kinit的输入参数时,真正发生了什么?
kinit -k -t "mykeytab" <someprincipal>
kinit
是否为someprincipal
或当前登录的USERA
生成初始凭据?
希望你能清除我的这种困惑。谢谢
这掩盖了许多重要的细节,但基本上你从KDC得到的只是一个加密的blob。
kerberos KDC不会存储您的密码,而是存储密钥。如果您知道幕后发生的事情是您要求KDC索要更多kerberos门票,它会使用您的密钥加密该门票。
如果您知道密钥,则可以解密blob并使用它来访问其他服务。
当您使用密码进行kinit时,kerberos使用“字符串到密钥”算法将您的密码转换为KDC使用的密钥。密钥表只是将密钥存储在本地文件中的方法。
因此,当您使用密钥表进行kinit时,它会使用密钥表中的密钥来解密blob。就kerberos协议而言,使用keytab进行kinit和使用密码之间确实没有区别。两者最终都使用相同的密钥来解密票证。
因此,在使用keytab for kinit之后,您将在keytab中获得主体的kerberos票证。与kinit一起使用的密钥表可以被认为是在文件中存储密码。
以上是关于将kinit与keytab文件一起使用时会发生什么的主要内容,如果未能解决你的问题,请参考以下文章
将 Object.defineProperty 与 let 或 var 一起使用时会发生奇怪的事情