UNC 및 접두사 경로 분할로 인해 깊은 디렉토리 마운트 cifs 권한 문제가 발생할 수 있습니다.

UNC 및 접두사 경로 분할로 인해 깊은 디렉토리 마운트 cifs 권한 문제가 발생할 수 있습니다.

디렉토리(dir3)를 마운트하려고 합니다. 그러나 Windows 시스템에서는 /server/dir1 디렉터리가 이미 파일 공유 폴더이므로 권한이 없습니다. //server/dir1/dir2/dir3에 대한 읽기 액세스 권한이 있습니다. 아래에는 내가 실행 중인 명령과 내가 받는 응답의 예가 나와 있습니다.

~# mount -vt cifs //server/dir1/dir2/dir3 /mount/directory -o credentials=/file/credentials
mount.cifs kernel mount options: ip=10.10.10.10,unc=\\server\dir2,credential=/file/credentials,ver=1,user=user,domain=sbts,prefixpath=dir2/dir3,pass=********
mount error(13): Permission denied
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)

내 Mac에서는 동일한 자격 증명을 사용하여 연결할 수 있으므로 //server/dir1/dir2/dir3내 자격 증명이 아닌 "mount -t cifs" 명령에 문제가 있다고 가정합니다.

내 생각엔 mount 명령이 //server/dir1/dir2/dir3라인을 unc=\\server\dir1and 로 분할하여 prefixpath=dir2/dir3트랜잭션이 \\server\dir1and not 에 대해 권한을 테스트하려고 시도하게 만드는 것 같습니다 //server/dir1/dir2/dir3.

mount -t cifs명령이 및 //server/dir1/dir2/dir3로 분할되는 것을 방지할 수 있는 방법이 있습니까 ? 아니면 내 문제를 해결할 수 있는 다른 방법이 있나요?unc=\\server\dir1prefixpath=dir2/dir3

답변1

같은 문제가 있습니다. 나는 그것을 DFS두 부분으로 나눕니다 : uns그리고 prefixpath.

나에게 있어 "획기적"은 다음 진단을 활성화하는 것이었습니다 cifs.

$ echo 1 | sudo tee /proc/fs/cifs/cifsFYI

그런 다음 또 다른 설치 시도가 실패한 후 dmesg-log 내부를 살펴보았습니다.

$ dmesg

설치 문제의 원인을 확인했습니다.

fs/cifs/cifs_dfs_ref.c: cifs_compose_mount_options: Failed to resolve server part of <HERE_WAS_UNC_PART_OF_MY_DFS> to IP: -11

내 "인터넷 검색" 오류로 인해 다음 두 기사가 표시되었습니다.

  1. https://vlkan.com/blog/post/2015/01/08/smb-mount-troubleshoot/
  2. https://access.redhat.com/solutions/45070

이 기사의 간략한 요약:

  1. 설치 keyutils패키지
  2. 다음 줄을 다음에 추가합니다 /etc/request-key.conf.
create cifs.spnego * * /usr/sbin/cifs.upcall -c %k
create dns_resolver * * /usr/sbin/cifs.upcall %k

이익!

관련 정보