我有一台装有 Raspberry Pi 操作系统(前身为 Raspbian)的 Raspberry Pi。
我想与 NFS 共享我的主文件夹 (/home/pi)。我还想从我的 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/