로그아웃 후 로그인 후 tmux의 $HOME 파일에 대한 접근이 허용되지 않습니다.

로그아웃 후 로그인 후 tmux의 $HOME 파일에 대한 접근이 허용되지 않습니다.

내 서버의 $HOME은 Andrew 파일 시스템에 있고 서버는 kerberos를 실행하고 있습니다.

tmux 세션을 생성하고 그 안에서 쉘 프로세스를 실행했습니다. 그런 다음 분리하고 로그아웃했다가 잠시 후 다시 로그인하고 tmux 세션을 다시 연결했습니다. tmux 쉘 프로세스에서 $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

관련 정보