
sshfs
저는 Synology 상자의 디렉터리에 액세스하고 이를 터미널을 통해 마운트하려는 의도로 실험을 해왔습니다 . 이를 위해 저는 다음에서 제공하는 SSHFS 버전을 사용하고 있습니다.macOS용 퓨즈프로젝트. 설정은 다음과 같습니다:
/volume1/justnfs
마운트될 Synology 상자의 디렉터리는user1:users
사용자 ID 1026 및 그룹 ID 100의 소유자이며 이 사용자만 소유한 디렉터리/파일을 포함합니다.user1
내 노트북에서 디렉토리를 마운트하는 사용자(또한 )의 사용자 ID는 501이고 그룹 ID는 20(그룹 이름staff
) 입니다.
이제 내가 그렇게 하면
sshfs -o sshfs_debug syno:/justnfs ./storage
디렉터리가 마운트되지만 모든 파일의 사용자 ID/그룹 ID는 예상대로 다시 매핑되지 않습니다. 이 문제를 해결하기 위해 필요한 매핑이 포함된 두 개의 파일, 즉 users.txt
with user1:1026
및 groups.txt
with 를 만들었습니다 staff:100
. 그런 다음 명령
sshfs -o sshfs_debug -o idmap=file -o uidfile=users.txt -o gidfile=groups.txt syno:/justnfs ./storage
또한 원격 디렉토리를 마운트하지만 로 전환하여 storage
실행 하면 ls
출력이 완전히 비어 있고 다음 dmesg
이 표시됩니다 .
osxfuse: fuse_vnop_readdir failed (err=1)
이상하게도 cat
경로가 알려진 파일에 접근하려고 하면(즉, 직접 액세스) 명령이 성공하고 파일 내용이 표시됩니다. 어떤 이유로 디렉토리 목록만 허용되지 않는 것과 같습니다.
흥미롭게도 uid/gid를 다음과 같이 명시적으로 제공하면
sshfs -o sshfs_debug -o uid=501 -o gid=20 syno:/justnfs ./storage
그런 다음 ls
다시 작동합니다.
마지막 두 명령이 다르게 동작하거나 디렉토리 내용을 나열할 수 없는 이유는 무엇일까요?