Cyrus SASL 和 Kerberos TGT

Cyrus SASL and the Kerberos TGT

对于 Kerberos,使用 kinit 的成功身份验证会生成一个本地缓存的 TGT,该 TGT 将用于对 Kerberized 服务进行身份验证。通常,此 TGT 有效期为一天,因此用户每天只需提供一次凭据即可与 Kerberized 服务进行所有交互。

假设我编写了一个 client/server 应用程序,它使用 Cyrus SASL 实现来使用 Kerberos 机制对用户进行身份验证。 TGT 缓存在此上下文中如何工作?换句话说,客户端 cyrus 库是否会自动跟踪 TGT,以便将来与服务器的交互不需要用户凭据?如果是这样,有什么方法可以指定Cyrus 从KDC 获得的TGT 是可转发的,以便客户端可以与其他Kerberized 服务进行交互?

感谢任何提示!

据我所知,Cyrus SASL 库不会为用户获取 TGT——它甚至不知道主体或密码;相反,它期望 TGT 已经存在于系统的凭据缓存中。

所以答案是使用kinit --forwardable,因为无论如何你都必须使用kinit。