我试图弄清楚为什么我的票的可续期期限只有 0 天而不是我指定的 7 天。
我尝试在 krb5.conf 和 kdc.conf 中同时设置max_renewable_life
(如另一个问题中所示)以及renew_lifetime
7 天(7d
和856800
),但没有奏效。我已将它们设置在[realms]
(krb5/kdc) 和[libdefaults]
(krb5) 下,但守护进程似乎忽略了此设置。ticket_lifetime
但是 有效。
我运行了以下命令(删除了不必要的输出):
$ kinit -r 20m -l 10m PRINCIPAL
$ klist -f
Valid starting Expires Service principal
04.03.2020 19:18:46 04.03.2020 19:28:44 krbtgt/REALM@REALM
renew until 04.03.2020 19:18:46, Flags: RIA
正如您所看到的,kinit 的最大寿命效果很好,但更新却无济于事。
令我沮丧的是,我也在客户端上设置了这些,但没有成功。我知道maxlife
校长的,也把它设置为 7 天,但这对我来说也不起作用。
如果有帮助:我正在运行 FreeBSD (FreeNAS) 并自行编译了 kerberos。是否有其他设置可以使用,或者是否有我需要设置的编译时选项?
编辑1:
$ kadmin
kadmin: getprinc comfix
Principal: comfix@REALM
Expiration date: [never]
Last password change: Mi Mär 04 21:00:00 CET 2020
Password expiration date: [never]
Maximum ticket life: 0 days 10:00:00
Maximum renewable life: 7 days 00:00:00
Last modified: Mi Mär 04 21:02:47 CET 2020 (comfix/admin@REALM)
Last successful authentication: Mi Mär 04 22:14:13 CET 2020
Last failed authentication: [never]
Failed password attempts: 0
Number of keys: 2
Key: vno 1, aes256-cts-hmac-sha1-96
Key: vno 1, aes128-cts-hmac-sha1-96
MKey: vno 1
Attributes: REQUIRES_PRE_AUTH DISALLOW_SVR
Policy: [none]
答案1
解决方案:
有 4 种设置(准确地说是 5 种,但第 5 种是kinit -r TIME
参数本身),其中取最小值:
krb5.conf
:REALM = { max_renewable_life = 7d }
kdc.conf
:REALM = { max_renewable_life = 7d }
- 校长@领域:
Maximum renewable life: 7 days 00:00:00
*[1] - krbtgt/REALM@REALM:
Maximum renewable life: 7 days 00:00:00
*[1]
[1](通过modprinc -maxrenewlife PRINCIPAL
kadmin设置)
我忘记/不知道第四个。设置 renewlife 后,一切都按预期工作。我认为,当我创建领域时,kdc.conf
和中的参数krb5.conf
未设置,并且 Kerberos 默认为 0 秒...