我正在创建一个脚本,我可以在其中检查某些内容是否已过期,例如 kerberos 票证缓存。
我需要获取到期日期/时间,获取当前日期/时间,并比较它们以查看第一个日期/时间是否会过期。
我正在创建一个脚本来查看 kerberos 票证是否仍然有效或已过期。
我可以以纪元格式获取两者的到期日期+时间(假设这是最好的)。
KRBEXPDATE=$(klist | grep -i krbtgt | awk '{print $3}')
KRBEXPTIME=$(klist | grep -i krbtgt | awk '{print $4}')
CURREPOCH=$(date +%s)
KRBEXPEPOCH=$(date --date="$KRBEXPDATE $KRBEXPTIME" +%s)
Run Code Online (Sandbox Code Playgroud)
我想看看 kerberos 票证是否在 if 语句中过期,我在处理时间的 if 语句上的逻辑有问题。我可能已经在这里回答了我自己的问题,但如果 CURRENTEPOCH 大于 KRBEXPEPOCH,则回显“票无效”。这有意义吗?
if [[ "$CURREPOCH" > "$KRBEXPEPOCH" ]] ;
then
echo "Ticket is not valid"
fi
Run Code Online (Sandbox Code Playgroud)