cifs 다중 사용자 마운트는 처음에는 작동하지만 잠시 후 "권한이 거부되었습니다"라는 메시지가 나타납니다.

cifs 다중 사용자 마운트는 처음에는 작동하지만 잠시 후 "권한이 거부되었습니다"라는 메시지가 나타납니다.

TrueNAS-Scale 서버에서 여러 Samba 공유를 호스팅하고 Arch Linux 시스템에서 "다중 사용자" 옵션을 사용하여 마운트했습니다. 내 사용자로서 cifscreds add공유에 액세스할 수 있지만 잠시 후 더 이상 액세스할 수 없으며 분명히 내 세션 키링이 취소되었습니다. 왜?

Arch 머신에서 다음과 같이 각 공유에 대해 systemd 설치 장치를 활성화했습니다.

$ cat /etc/systemd/system/mnt-share.mount
[Unit]
Description=Mount share
After=nss-lookup.target

[Mount]
What=//truenas-scale.localdomain/share
Where=/mnt/share
Type=cifs
Options=multiuser,sec=ntlmssp,credentials=/etc/samba/credentials/smbnobody.creds,iocharset=utf8,rw

[Install]
WantedBy=multi-user.target

( /etc/samba/credentials/smbnobody.creds사용자의 사용자 이름/비밀번호가 포함되어 있습니다 smbnobody. 이는 공유에 대한 최소한의 권한(최상위 디렉토리에 대한 읽기 액세스만 가능)을 갖기 위해 TrueNAS 서버에서 특별히 생성한 것입니다.)

재부팅 후 Arch 머신에 SSH로 연결하고 실행하여 cifscreds add truenas-scale.localdomain비밀번호를 입력했는데 /mnt/share예상대로 읽기/쓰기 액세스 권한이 생겼습니다. 그런 다음 tmux장기 실행 작업을 시작한 다음 연결을 끊습니다.

잠시 후 SSH를 통해 Arch 머신에 다시 접속할 때 더 이상 읽기/쓰기 액세스 권한이 없다는 사실을 자주 발견합니다 /mnt/share.

$ ls /mnt/share
ls: cannot access '/mnt/share': Permission denied

$ ls -l /mnt
ls: cannot access '/mnt/share': Permission denied
total 0
d????????? ? ? ? ?            ? share

자격 증명을 추가/업데이트하려는 시도도 실패했습니다.

$ cifscreds add truenas-scale.localdomain
Error: unable to query session keyring: Key has been revoked

$ keyctl show
Session Keyring
Unable to dump key: Key has been revoked

다시 액세스하려면 컴퓨터를 재부팅해야 했습니다.

이 문제는 장기 실행 작업이 공유에 액세스하지 못하는 경우 발생합니다. 예를 들어 wget내부 공유에 대용량 파일 다운로드를 실행하고 tmux다운로드가 완료되기 전에 연결을 끊었다가 다시 연결하면 공유에 대한 읽기/쓰기 액세스가 여전히 유효합니다. 하지만 다운로드가 완료된 후 바로 다시 연결하면 "권한이 거부되었습니다."라고 표시됩니다.

왜 이런 일이 발생하며 어떻게 방지할 수 있나요?

답변1

저도 비슷한 문제가 있었는데 제 경우에는 keyctl session새 세션을 만들고 인증하여 문제를 해결할 수 있었습니다.

나는 이것이 불만족스러운 답변이라는 것을 알고 있지만 지금까지 얻은 다른 답변(예: 없음)보다 낫고 기반을 구축할 수 있는 몇 가지 단서를 제공할 수 있기를 바랍니다.

관련 정보