我有一个长时间运行的 bash 脚本,可以在远程主机上运行screen
,这样我就可以注销 ssh。当我在一段时间后(注销后)回来时,屏幕终端不再具有访问我的文件和文件夹的权限。
这是什么原因造成的,有没有办法避免呢?
操作系统:Scientific Linux CERN SLC 6.9 版(Carbon),使用 Andrew 文件系统。我正在使用 AFS 中的私有目录,如果这有什么区别的话。
编辑:断开连接后,屏幕仍然可以访问我的公共目录以及其他公共文件。所以 AFS 的一些东西把它搞乱了。
答案1
重新连接后只需输入“kinit”(并输入您的用户密码)
答案2
我遇到了类似的问题,但 AFS 断开连接不是立即且自动的,有时程序会愉快地运行 6 小时或更长时间,然后才会失去对 AFS 的访问权限。即使人们用
fs checkservers
fs checkvolumes
fs flush
它仍然不起作用或无法恢复 AFS 访问。我们的系统管理员提出了以下原因和解决方案:
原因:“不幸的是,由于 Linux 中的“新”功能,它无法工作。我认为正在发生的情况是,管理系统资源/登录的 systemd 守护进程一旦检测到来自远程的注销(或断开的连接)就会积极清理会话,这会导致 AFS 令牌被破坏,从而导致权限被拒绝错误。”
可能的解决方法:一个可能的解决方案是在一台计算机上打开屏幕,然后 ssh 到另一台计算机并启动在那里运行的程序。例如 - 登录到 machine1 然后 - 启动屏幕会话。 - 从屏幕会话内部,通过 ssh 连接到计算机 2 - 启动软件以执行分析。 - 分离会话
希望上述 2 个 SSH 连接能够确保令牌在第二台机器上保持活动状态。”