本文属于学习笔记,使用树莓派3B、4B
NFS服务实现Win7与树莓派的共享
一、NFS是什么?
网络文件系统,英文Network File System(NFS)。是由SUN公司研制的UNIX表示层协议(pressentation layer protocol),能使使用者访问网络上别处的文件就像在使用自己的计算机一样。
二、树莓派上搭建NFS
1.在树莓派中安装NFS 服务器:
pi@raspberrypi:~ $ sudo apt-get install nfs-common nfs-kernel-server
pi@raspberrypi:~ $ sudo apt-get install portmap //网上有很多人安装,但是无需安装因为新版本已经代替了这个
2.建立要分享及挂载的目录
pi@raspberrypi:~ $ mkdir /home/pi/NFS
3.在系统配置文件中添加需要挂载的目录
pi@raspberrypi:~ $ sudo nano /etc/exports
修改 /etc/exports
在最后添加下面内容
/home/pi/NFS *(rw,sync,no_root_squash,no_subtree_check)
- /home/ning/rootfs :nfs客户端加载目录
- ‘*’ :允许所有的网段访问,也可以使用具体的IP;
- rw:挂接此目录的客户端对该共享目录具有读写权限;
- sync:资料同步写入内存和硬盘;
- no_root_squash:root用户具有对根目录的完全管理访问权限;
- no_subtree_check:不检查父目录的权限。
注意:*和后面的括号不能出现空格。
4. 重启rpcbind 服务
pi@raspberrypi:~ $ sudo /etc/init.d/rpcbind restart
[ ok ] Restarting rpcbind (via systemctl): rpcbind.service.
5、重启nfs服务
pi@raspberrypi:~ $ sudo /etc/init.d/nfs-kernel-server restart
[ ok ] Restarting nfs-kernel-server (via systemctl): nfs-kernel-server.service.
6.测试nfs服务是否启动成功
pi@raspberrypi:~ $ showmount -e
Export list for raspberrypi:
/home/pi/NFS *
三、Win7上配置NFS服务
1.在win7下开启nfs服务,如图所示:
2.在win7的cmd进行挂载操作。
3.修改win7对nfs分区只读属性
Win7 NFS客户端使用mount命令挂载NFS服务之后,文件系统对Win7只读,无法写入文件,无法新建文件夹,此时使用mount命令可以查看到如下状态:
可以看到UID=-2由于在存储设备上共享出来的NFS文件系统归属于root权限,并且无法修改该所属用户,而Windows通过UID=-2的用户去写,肯定写不进去。
解决办法:
让Win7在挂载NFS的时候将UID和GID改成0即可:
打开注册表:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ClientForNFS\CurrentVersion\Default
增加两项:AnonymousUid,AnonymousGid,如图:
重新启动计算机,重新mount即可。此时就能在win7下对nfs文件系统进行读写操作了,跟本地磁盘一样。
查看mount属性,如下:
如果要去掉nfs共享,只需只需卸载命令umount即可。
完
参考资料:
https://www.cnblogs.com/chenchenluo/archive/2013/06/18/3142385.html.
https://blog.csdn.net/qinchunwuhui/article/details/89047301.
https://www.cnblogs.com/zhangjiankun/p/4986827.html.
https://blog.csdn.net/zn2857/article/details/52832778.