我使用 Linux 服务器进行模拟。服务器的登录和文件系统使用 kerberos 进行保护。文件系统使用 NFS 进行支持。
由于我的模拟需要很长时间才能运行,因此我的 ssh 会话经常挂起。因此,我开始在 byobu(类似于 screen)中运行我的模拟。
为了确保我的 kerberos 会话保持活动状态,我使用了 krenew 命令。
我在 .bash_profile 文件中输入了以下命令。(我确信每次登录都会调用它)
killall -9 krenew 2> /dev/null
krenew -b -t -K 10
因此,每次我 ssh 到服务器时,我都会终止现有的 krenew 命令。然后,我生成一个新的 krenew 命令 -b(在后台运行)、-t(我忘了为什么使用此选项!)和 -K 10(它必须每 10 分钟运行一次并刷新 kerberos 缓存)。
当我运行模拟时,它运行了 14 个小时,然后突然,我收到读取文件的错误没有权限
我运行的命令不正确吗?
答案1
默认情况下,您可能无法获得可续订的票证。使用以下方法检查票证上的标志:
klist -f(麻省理工学院)
或者
klist -v(希姆达尔)
如果标志中没有可更新或 R,请使用 kinit 的 -r 选项来获取可更新票证。如果您正在获取可更新票证,则很可能您不会每次都更新同一张票证。
在 Linux 上,kerberos 票证是 /tmp 中的文件,每个登录会话都会获得不同的文件。我建议您改用 kstart 来启动您的作业,它有自己的票证,还有一个守护进程来管理该票证。