Freebsd

MIT Kerberos 更新生命週期不起作用

  • March 8, 2020

我試圖弄清楚為什麼我的門票只能獲得 0 天的可再生壽命,而不是我指定的 7 天。

我嘗試在我的 krb5.conf 和 kdc.conf 中同時設置max_renewable_life(如另一個問題所示)以及renew_lifetime7 天(7d856800),但這不起作用。我已將它們設置在[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]

解決方案:

有 4 個設置(準確地說是 5 個,但第 5 個是kinit -r TIME參數本身),其中取最小值:

  1. krb5.conf:REALM = { max_renewable_life = 7d }
  2. kdc.conf:REALM = { max_renewable_life = 7d }
  3. 校長@領域:Maximum renewable life: 7 days 00:00:00*$$ 1 $$
  4. krbtgt/領域@領域:Maximum renewable life: 7 days 00:00:00*$$ 1 $$

$$ 1 $$(通過modprinc -maxrenewlife PRINCIPAL在 kadmin 中設置) 我忘記/不知道第四個。在我設置更新生命後,一切都按預期工作。我想,當我創建領域時,參數kdc.confkrb5.conf沒有設置,Kerberos 預設為 0 秒……

引用自:https://serverfault.com/questions/1005599