如何更改 Kerberos 默认票证有效期

use*_*497 8 kerberos

我们的 KDC 服务器运行的是 Ubuntu Dapper (2.6.15-28) 或 Hardy (2.6.24-19)。Kerberos 软件是 Kerberos 5 的 MIT 实现。默认情况下,Kerberos 票证持续 10 小时。但是,我们希望将其增加一点(例如 14 小时)以更好地满足我们的需求。我已经完成了以下操作,但票的有效期仍然保持在 10 小时:

  1. 在所有 KDC 服务器上,在“[realms]”下设置以下参数/etc/krb5kdc/kdc.conf并重新启动 KDC 守护进程:

    max_life = 14h 0m 0s
    
    Run Code Online (Sandbox Code Playgroud)
  2. 通过“kadmin”,通过“modprinc -maxlife 14hours”更改了测试主体的“maxlife”。

    “getprinc”显示最长票据寿命确实是14小时:最长票据寿命:0天14:00:00

  3. 在 Kerberos 客户端机器上,在 /etc/krb5.conf 中的 [libdefaults]、[realms]、[domain_realm] 和 [login] 下设置以下参数(基本上到处都是,因为我尝试过的都没有奏效):

    ticket_lifetime = 13hrs
    default_lifetime = 13hrs
    
    Run Code Online (Sandbox Code Playgroud)

通过上述设置,我认为票证的有效期将被限制为 13 小时。当我这样做时k5start -l 14h -t <principal>,我看到“更新至”行的结束时间现在是开始时间的 14 小时:

Valid starting     Expires            Service principal
04/13/10 16:42:05  04/14/10 02:42:05  krbtgt/<realm>@<realm>
 renew until 04/14/10 06:42:03
Run Code Online (Sandbox Code Playgroud)

“-l 13h”将使“更新至”行中的结束时间在开始时间之后 13 小时。

但是,票仍然会在 10 小时(04/13 16:42:05 - 014/14 02:42:05)后过期。

我是否没有更改正确的配置文件/参数,在获取 Kerberos 票证时没有指定正确的选项,或其他什么?

use*_*497 12

事实证明,我还必须更改服务主体的“maxlife”参数。具体来说,我必须执行“modprinc -maxlife 14hours krbtgt/[REALM_in_CAPS]”才能将寿命增加到 14 小时。

综上所述,票据生存期是以下值中的最小值

  • max_lifekdc.confKDC 服务器上。

  • ticket_lifetimekrb5.conf客户端机器上。

  • 用户主体的 maxlife。

  • 服务主体“krbtgt/[REALM_in_CAPS]”的 maxlife => 我错过了什么!

  • 在票证请求中请求的生命周期。例如:

    • k5start -l 14h
    • kinit -l 14h
  • maxlife 对于 AFS 服务主体“afs/[realm_in_lower_case]”,如果您想增加 AFS 令牌的生命周期。

谜团已揭开!