首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AFS令牌存储在哪里,如何使它们进入正在运行的屏幕会话

AFS令牌存储在哪里,如何使它们进入正在运行的屏幕会话
EN

Unix & Linux用户
提问于 2015-07-31 06:21:59
回答 1查看 1.5K关注 0票数 2

我有以下情况,我有一个正在运行的GNU屏幕会话,我不能再访问AFS了-我的令牌过期了。不过,我可以从一个新的shell访问它。与这个问题不同的是,我没有Kerberos票证(嗯,不是针对aklog正在寻找的领域),所以我不能调用aklog。我也买不到这样的票。我不知道战地服务团是如何建立的,但它起作用了。

现在,Kerberos票证“存储”在/tmp/krb5cc*中,并被一个名为KRB5CCNAME的变量指向。如果Kerberos和screen/tmux有此问题,可以执行kinit,也可以通过设置KRB5CCNAME将较新的票证移植到旧的shell中。

我想知道如何指向AFS凭据,以及是否可以同样地将它们从外壳(我ssh进入的外壳,它具有AFS访问权限)移植到内部shell (在screen -r之后获得的证书,它没有更多的AFS访问权限)。两个shell之间似乎没有相关的环境变量发生更改。strace tokens告诉我,它只是访问/proc/fs/openafs/afs_ioctl,这意味着它与进程绑定在一起,并且使用了一个特殊的内核特性,这将使它变得非常困难。有什么办法可以让AFS访问回到我的外壳,而不关闭它和打开一个新的?

EN

回答 1

Unix & Linux用户

发布于 2018-05-07 17:55:28

当您通过ssh和pam_afs_session.so登录时,它将生成一个Kerberos票据,并使用它来生成AFS令牌。注销时,它将同时删除Kerberos票证和AFS令牌。

正如您已经注意到的,Kerberos票证存储在文件中,AFS令牌存储在内核中,存储在PAG ()中。当您通过第二个SSH会话进行连接时,pam_afs_session.so库将在一个新文件中创建一个新的Kerberos票据,在一个新的PAG中创建一个新的AFS令牌。

在GNU屏幕会话中保持AFS令牌活动的最简单方法是:

  1. 创建一个新的Kerberos票证文件。现有的一个可能类似于/tmp/krb5cc_UID_RANDOM。用一个新的随机字符串做一个。
  2. 将现有的票证文件复制到您刚才创建的新票证文件。
  3. 将KRB5CCNAME环境变量更改(并导出)到您创建的新名称。
  4. 发射屏-r
  5. 您现在可以从外壳中注销。这将从旧的票证文件中删除Kerberos票证,但您的副本在内部shell中仍然有效。但是,它也会移除AFS令牌,所以.
  6. 重新连接到内部外壳时,运行aklog。这将将Kerberos票证(您保存的)复制到一个新的AFS令牌。它应一直有效,直到到期为止。在退出您的内部shell之前,您可能应该运行kdestroy来删除不再需要的Kerberos票证。
票数 3
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/219410

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档