首先,我使用keytab文件运行kinit {principal} -k -t {keytabfile}
。
其次,我运行klist
来检查是否存在TGT。
一切似乎都运行良好,但是当我运行kadmin -p {principal}
时,仍然需要密钥表或密码。
这是否意味着kadmin不使用kinit进行身份验证?
答案 0 :(得分:0)
这是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
以下是对此默认政策
的文档的引用存在两个Kerberos主体用于与Admin通信 system:kadmin / admin和kadmin / changepw。两位负责人 将KRB5_KDB_DISALLOW_TGT_BASED位设置为其属性 他们的服务票只能通过一个 基于密码的(AS_REQ)请求。另外,kadmin / changepw 将KRB5_KDB_PWCHANGE_SERVICE位设置为具有的主体 过期的密码仍然可以获得它的服务票据。