【问题标题】:kadmin does not use kinit for authentication?kadmin 不使用 kinit 进行身份验证?
【发布时间】:2015-06-14 12:46:07
【问题描述】:

首先,我使用 keytab 文件运行 kinit {principal} -k -t {keytabfile}

其次,我运行klist检查是否存在TGT。

似乎一切正常,但是当我运行kadmin -p {principal} 时,仍然需要密钥表或密码。

这是否意味着 kadmin 不使用 kinit 进行身份验证?

【问题讨论】:

    标签: kerberos


    【解决方案1】:

    这是 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

    这是对有关此默认策略的文档的参考

    https://github.com/krb5/krb5/blob/50a3c3cbeab32577fba2b21deb72a64015c48ec7/doc/kadm5/api-funcspec.tex#L775

    存在两个用于与管理员通信的 Kerberos 主体 系统:kadmin/admin 和 kadmin/changepw。两位校长 在其属性中设置了 KRB5_KDB_DISALLOW_TGT_BASED 位,因此 他们的服务票只能通过 基于密码的 (AS_REQ) 请求。此外,kadmin/changepw 设置了 KRB5_KDB_PWCHANGE_SERVICE 位,以便具有 过期的密码仍然可以为其获取服务票。

    【讨论】:

    • 感谢您的回复。能给个参考吗?
    • 来自文档Database Administration 如果凭证缓存包含任一服务主体的票证并且指定了 -c ccache 选项,则该票证用于向 KADM5 进行身份验证。否则,-p 和 -k 选项用于指定用于验证的客户端 Kerberos 主体名称。一旦 kadmin 确定了主体名称,它就会从 KDC 请求 kadmin/admin Kerberos 服务票证,并使用该服务票证向 KADM5 进行身份验证。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-17
    • 2017-06-13
    • 2017-03-11
    • 2013-05-30
    • 2015-09-23
    • 1970-01-01
    相关资源
    最近更新 更多