NFS:
NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。
环境:
cnetos7 1708
IP:
192.168.13.1 linux-node1.example.com
192.168.13.2 linux-node2.example.com
ps:主要进程:
nfsd:2049端口 注册实现nfs服务。
mountd: 实现挂载,半随机端口,nfs提供。
nfs 的配置文件 /etc/exports
客户端:
192.168.13.2 linux-node2.example.com
客户端需要安装nfs-utils
修改配置文件,在不重启服务的情况下读取配置文件:
文件系统导出属性:
ro:只读
rw:读写
sync:同步
async:异步
root_squash:将root用户映射为来宾账号(默认开启)
no_root_squash:保留管理员权限
all_squash:无论什么转换为来宾账号
anonuid,anongid:指定来宾账号的UID和GID
实现开机自动挂在:
mountd 开随机端口进行提供服务,如果占用3360 或者使用的端口,将影响改服务的使用。
PS:
由于业务需求,需要在windows 使用NFS:
这里以win7系统为例。
第一步,我们需要安装一个工具。
点击开始 -> 控制面板。
点击“程序”。
点击“打开或关闭windows功能”。
勾选上“基于unix的应用程序子系统”和展开NFS服务,勾选“NFS客户端”和“管理工具”然后点确定。
点击确定。等待安装完成之后,窗口会自动关闭。
这时我们按下win + r,打开运行界面:输入cmd进入命令提示符。
输入 mount -h
没有提示错误即可用。
我这边的nfs共享目录是nfs服务器的/home/pi/Server文件夹。
那么,我们输入命令mount \\NFS的IP地址或者主机名\nfs目录名 挂载点
例如我这边就是:mount \\192.168.1.4\home\pi\Server x:
输入该命令后按回车。提示成功即可。
这时我们可以按下win + e打开计算机资源管理器。可以看到,我们挂载的X盘确实存在,我们进去看看。
那么如何取消挂载呢?
我们只要”umount 挂载点”即可断开啦。
例如:umount x:
虽然挂载了还是存在权限问题无法访问:
使用mount命令可以查看到如下状态:
我们可以看到UID=-2由于在存储设备上共享出来的NFS文件系统归属于root权限,且无法修改该所属用户,而Windows通过UID=-2的用户去写,肯定写不进去。
通过修改注册表将windows访问NFS时的UID和GID改成0即可,步骤如下
1、在运行中输入regedit,打开注册表编辑器;
2、进入HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ClientForNFS\CurrentVersion\Default条目;
3、选择新建----QWORD值,新建AnonymousUid,AnonymousGid两个值,值为0.
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。