我们的 KDC 服务器运行的是 Ubuntu Dapper (2.6.15-28) 或 Hardy (2.6.24-19)。Kerberos 软件是 Kerberos 5 的 MIT 实现。默认情况下,Kerberos 票证持续 10 小时。但是,我们希望将其增加一点(例如 14 小时)以更好地满足我们的需求。我已经完成了以下操作,但票的有效期仍然保持在 10 小时:
在所有 KDC 服务器上,在“[realms]”下设置以下参数/etc/krb5kdc/kdc.conf并重新启动 KDC 守护进程:
max_life = 14h 0m 0s
Run Code Online (Sandbox Code Playgroud)通过“kadmin”,通过“modprinc -maxlife 14hours”更改了测试主体的“maxlife”。
“getprinc”显示最长票据寿命确实是14小时:最长票据寿命:0天14:00:00
在 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_life在kdc.confKDC 服务器上。
ticket_lifetime在krb5.conf客户端机器上。
用户主体的 maxlife。
服务主体“krbtgt/[REALM_in_CAPS]”的 maxlife => 我错过了什么!
在票证请求中请求的生命周期。例如:
k5start -l 14hkinit -l 14hmaxlife 对于 AFS 服务主体“afs/[realm_in_lower_case]”,如果您想增加 AFS 令牌的生命周期。
谜团已揭开!
| 归档时间: |
|
| 查看次数: |
38465 次 |
| 最近记录: |