并发kerberos认证的优化

  使用配置
内容纲要

概要描述

在多个脚本并发进行kinit认证时,常会出现 krb cache 失效的情况。本文描述该场景下的解决方法。

详细描述

1 场景说明

该问题常见于并发跑批场景,多个脚本出现同时认证的情况,常见报错
"kinit: Failed to store credentials: Internal credentials cache error (filename: /tmp/krb5cc_xxx) while getting initial credentials"

2 问题说明

/tmp/krb5cc_uid 是凭证高速缓存,每kinit一次,该文件就会被刷新一次
file
在并发kinit的情况下,偶发性会出现,同一时间去kinit认证的情况,这就会导致该cache文件可能只缓存了一个有效凭证,这个时候,就可能导致前面kinit的用户读到的cache是后面用户的kinit信息

3 解决方案

优化脚本,在最开始kinit之前可以

> export KRB5CCNAME=/tmp/krb5cc_

这样可以隔离每次任务的krb5 cache 不受其它东西影响,这个 是一个随机值,保证每个kinit认证生成的krb5 cache 不会受其他的影响
file

这篇文章对您有帮助吗?

平均评分 0 / 5. 次数: 0

尚无评价,您可以第一个评哦!

非常抱歉,这篇文章对您没有帮助.

烦请您告诉我们您的建议与意见,以便我们改进,谢谢您。