Windows 2019 호스트의 SMB 공유가 있습니다.
\\server\share
mount.cifs
내 Linux 서버에 설치할 수 있습니다./mnt/
그런 다음 몇 가지 수준 아래의 디렉터리에 액세스하려고 합니다.
\\server\share\dir1\dir2\dir3\dir4
/mnt/dir1/dir2/dir3/dir4
공유를 마운트하는 데 사용한 Windows 사용자 계정에는 읽기 권한이 있지만 읽기 권한 dir1
은 없습니다 . 이 계정은 모든 권한을 가집니다 .dir2
dir3
dir4
dir4
다른 Windows 시스템에서는 dir2
액세스할 수 없지만 여전히 액세스할 수 있습니다. 또는 dir3
액세스하려면 전체 경로를 입력해야 dir4
하고 탐색할 수 없습니다(괜찮습니다).
dir4
Linux에서는 직접 CD로도 액세스할 수 없습니다.
UNIX 시스템에서는 하위 디렉터리에 액세스하려면 각 상위 디렉터리에 액세스해야 하기 때문에 이것이 약간 이상하다는 것을 알고 있지만 내 예제가 작동하지 않는 이유는 확실하지 않습니다.
답변1
Linux 기반 클라이언트의 옵션에서 이를 지정해야 합니다 noperm
.mount
문서( man mount.cifs
)에는 다음과 같이 명시되어 있습니다.
noperm
클라이언트는 권한 확인을 수행하지 않습니다. [...] 일반적으로 클라이언트와 서버 시스템의 UID/GID 일치가 마운트를 수행하는 사용자에게 액세스를 허용할 만큼 가깝지 않은 경우에만 필요합니다. 이는 서버 소프트웨어에 의한 대상 시스템의 일반적인 ACL 검사에는 영향을 미치지 않습니다. [...]
이는 noperm
CIFS 합성 POSIX 권한을 해석하려는 로컬 파일 시스템 계층의 모든 시도를 끄고 대신 서버가 자신이 수행하는 작업을 알고 있다고 신뢰하는 것을 의미합니다.