注销并登录后,不允许访问 tmux 中 $HOME 上的文件

注销并登录后,不允许访问 tmux 中 $HOME 上的文件

我的服务器上的 $HOME 位于 Andrew 文件系统中,并且该服务器运行 kerberos。

我创建了一个 tmux 会话,在其中运行了一个 shell 进程。然后我将其分离并注销,一段时间后再次登录并重新附加 tmux 会话。在 tmux 的 shell 进程中,我发现我没有权限访问 $HOME 中的(非目录)文件。我检查了我的票,它没有过期,我通过运行更新了它krenew,但仍然没有权限。

$ ls -l
ls: cannot access README: Permission denied
ls: cannot access setup.sh: Permission denied
ls: cannot access setup.sh~: Permission denied
total 14
drwxrwxr-x.  2 t 2048 Apr  6 21:48 bin
drwxrwxr-x. 11 t 2048 Apr 24 18:16 data
???????????  ? ?    ?     ?            ? README.md
???????????  ? ?    ?     ?            ? setup.sh
???????????  ? ?    ?     ?            ? setup.sh~
drwxrwxr-x.  2 t 2048 Apr 22 18:50 src

谢谢!

答案1

肮脏的解决方案是更新 tmux 的值$KRB5CCNAME。首先,运行这个外部 tmux:

$ echo $KRB5CCNAME
FILE:/tmp/krb5cc_201108_XXXXXX

然后,在 tmux 内部,您需要导出该新值:

$ export KRB5CCNAME='FILE:/tmp/krb5cc_201108_XXXXXX'

现在,tmux 拥有您的新凭据。

答案2

您可能拥有有效的票证,但很可能没有有效的 AFS 令牌。尝试运行aklog以从现有的缓存凭据中获取令牌。检查输出tokens以查看您是否有有效的令牌。确保使用 krenew 运行 aklog (这只是一个附加参数更新)。

答案3

这是一个对我有用的干净解决方案。登录任何 tmux 会话并 -

$ kinit
$ aklog

相关内容