我正在使用一个脚本,它根据在任何给定的 Kerberos 票证中找到的内容创建两个变量。被称为 $TCACHE 的 kerberos 票证看起来像这样......:
Ticket cache: FILE:/tmp/krb5cc_12345_gbiRMw
Default principal: testuser@TEST.SITE
Valid starting Expires Service principal
24/06/2013 11:22 24/06/2013 21:22 krbtgt/TEST.SITE@TEST.SITE
renew until 01/07/2013 11:22
...以及这样的变量...:
EXPIRE_TIME=$( date -d "$( klist -c $TCACHE | grep -m1 krbtgt | awk '{print $3, $4}' )" +%s )
RENEW_TIME=$( date -d "$( klist -c $TCACHE | grep -m1 "renew until" | awk '{print $3, $4}' )" +%s )
这两个都在 RHEL 5 和 6 下正常工作......:
EXPIRE_TIME:
# date -d "$( klist -c $TCACHE | grep -m1 krbtgt | awk '{print $3, $4}' )" +%s
1372122061
# date -d "$( klist -c $TCACHE | grep -m1 krbtgt | awk '{print $3, $4}' )"
Mon Jun 24 21:01:01 EDT 2013
# klist -c $TCACHE | grep -m1 krbtgt | awk '{print $3, $4}'
06/24/13 21:01:01
更新时间:
# date -d "$( klist -c $TCACHE | grep -m1 "renew until" | awk '{print $3, $4}' )" +%s
1372046400
# klist -c $TCACHE | grep -m1 "renew until" | awk '{print $3, $4}'
07/01/13 08:24:15
# klist -c $TCACHE | grep -m1 "renew until" | awk '{print $3, $4}'
07/01/13 08:24:15
然而,在 Debian 7 下,我得到了这个......:
EXPIRE_TIME:
# date -d "$( klist -c $TCACHE | grep -m1 krbtgt | awk '{print $3, $4}' )" +%s
date: invalid date `24/06/2013 21:22'
# date -d "$( klist -c $TCACHE | grep -m1 krbtgt | awk '{print $3, $4}' )"
date: invalid date `24/06/2013 21:22'
# klist -c $TCACHE | grep -m1 krbtgt | awk '{print $3, $4}'
24/06/2013 21:22
更新时间:
# date -d "$( klist -c $TCACHE | grep -m1 "renew until" | awk '{print $3, $4}' )" +%s
1357575720
# date -d "$( klist -c $TCACHE | grep -m1 "renew until" | awk '{print $3, $4}' )"
Mon Jan 7 11:22:00 EST 2013
# klist -c $TCACHE | grep -m1 "renew until" | awk '{print $3, $4}'
01/07/2013 11:22
作为参考,这里是每个服务器上仅 date 命令的输出......:
RHEL 6:
# date
Mon Jun 24 12:29:06 EDT 2013
Debian 7:
# date
Mon Jun 24 12:29:18 EDT 2013
谁能解释并帮助我了解如何减轻这种情况?
谢谢。
更新 1:我发现这个错误报告完美地描述了这个问题: http ://bugs.debian.org/cgi-bin/bugreport.cgi?bug=697954
......所以我想我毕竟不会发疯。
更新 2:我从实验中安装了 krb5-user 1.11,正如宣传的那样,问题消失了。