首先,我kinit {principal} -k -t {keytabfile}
使用keytab文件运行。
其次,我运行klist
检查是否存在TGT。
看起来一切正常,但是当我运行时kadmin -p {principal}
,仍然需要keytab或密码。
这是否意味着kadmin不使用kinit进行身份验证?
这就是kadmin服务主体的默认策略(出于明显的安全性),它仅接受直接从该服务获取的票证。您可以根据需要进行更改,但不建议这样做。
如果您检查kdc日志,您会发现
Jun 18 01:17:27 aron krb5kdc[21377](info): TGS_REQ (4 etypes {18 17 16 23}) 192.168.1.56: TGT BASED NOT ALLOWED: authtime 0, root/DOMAIN.NET for kadmin/@DOMAIN.NET, KDC policy rejects request
这是有关此默认策略的文档的参考
存在两个用于与Admin系统通信的Kerberos主体:kadmin / admin和kadmin / changepw。这两个主体都在其属性中设置了KRB5_KDB_DISALLOW_TGT_BASED位,因此只能通过基于密码的(AS_REQ)请求来获取它们的服务票证。此外,kadmin / changepw的KRB5_KDB_PWCHANGE_SERVICE位置1,因此密码过期的主体仍然可以为其获取服务票证。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句