Linux NFS 공유 - Windows 10에 마운트하는 경우 모든 파일은 읽기 전용입니다.

Linux NFS 공유 - Windows 10에 마운트하는 경우 모든 파일은 읽기 전용입니다.

저는 Raspberry Pi OS(예: Raspbian)가 설치된 Raspberry Pi를 가지고 있습니다.

내 홈 폴더(/home/pi)를 NFS와 공유하고 싶었습니다. Windows 10 PC에서도 액세스하여 "pi" 사용자로서 파일을 읽고 쓰고 싶습니다.

다음 명령을 실행했습니다.

$ sudo apt-get install nfs-kernel-server
$ id pi
uid=1000(pi) gid=1000(pi)
$ sudo nano /etc/exports

나는 다음 줄을 추가했습니다 :

/home/pi        *(rw,all_squash,insecure,async,no_subtree_check,anonuid=1000,anongid=1000)

그런 다음:

$ sudo exportfs -ra

Windows NFS 클라이언트 구성 요소를 설치한 후 RPi 홈 폴더를 네트워크 드라이브로 연결할 수 있었습니다. 파일을 생성할 수 있습니다. 하지만 파일을 편집할 수는 없습니다.

예: Windows에서 테스트 파일을 만들었습니다. Linux에서 테스트 파일을 만듭니다.

pi@sigipi:~ $ echo hello > test_pi.txt
pi@sigipi:~ $ ls -l test_*
-rw-r--r-- 1 pi pi 6 apr 19 23:29 test_pi.txt
-rwxr-xr-x 1 pi pi 0 apr 19 23:29 test_windows.txt

이제 두 파일 모두 Windows에서만 읽을 수 있습니다. 편집할 수 없습니다. (하지만 삭제할 수는 있습니다).

편집할 수 있는 유일한 방법은 다음을 실행하는 것입니다.

sudo chmod -R a+rw test*

내가 무엇을 놓치고 있나요?

답변1

몇 가지를 더 시도한 결과 문제가 해결된 것 같습니다. UID 및 GID를 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ClientForNFS\CurrentVersion\Default내 Linux 시스템의 기본 사용자( id <user>)로 변경했습니다. 또한 이러한 ID를 /etc/exports.

이제 write-protection / read-only파일에서 해당 항목을 제거할 수 있습니다. 폴더는 여전히 보호됨으로 표시되어 있지만 삭제/편집/이동할 수 있습니다.

매우 최근의 심층적인 훌륭한 블로그 게시물이 있습니다.https://stealthbits.com/blog/mounting-nfs-exports-unix-server/

관련 정보