如何检查(在 shell 中)我是否拥有特定服务的有效 Kerberos 票证?

cei*_*cat 6 bash kerberos

我希望能够(在我的bash脚本中)检查我是否有特定服务的有效未过期票。如果我这样做klist,我可以手动获取这些信息,但是以编程方式解析到期时间、服务主体等需要一些工作。有没有更简单的方法来做到这一点?谢谢。

小智 9

Try klist -s,它应该返回一个状态代码,0如果你有一个有效的股票代码,或者1如果没有。然后,您可以通过查看$?. 例如:

if ! klist -s
then
    echo "kerberos ticket not valid; please run kinit"
    exit 1
fi
Run Code Online (Sandbox Code Playgroud)