내 서버의 $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