nfs 是一种网络文件系统,需要依赖rpc进行过程调度
注意nfs只验证id,验证用户名,并且只能在类unix os上进行文件共享服务,由于它的脆弱的验证机制,所以不适宜在internet上工作,在内网使用是非常可行的。
nfs服务端需要确定这两个包正确安装 nfs-utils rpcbind
若是ubuntu服务器,则是nfs-common,nfs-kernel-server两个包,rpcbind是默认安装的。
yum -y install nfs-utils rpcbind
编辑共享目录配置文件 /etc/exports
/var/www/html 192.168.10.0/24(rw,async,no_root_squash) 192.168.20.0/24(ro)
#多个网段或主机之间用空格分开
/var/www 192.168.10.0/24(ro,sync,root_squash)
参数:ro表示只读,rw表示可读写,sync同步写*即同时写入内存和硬盘,async异步*暂存于内存,no_root_squash表示如果客户端连接过来的用户是root,则对服务端的目录同样是root权限****请不要开启,好危险的,root_squash表示客户端是root则将其转为匿名用户的权限***建议开启。
启动nfs服务,并设为开机自启动
service rpcbind start#或则 systemctl start rpcbind
service nfs start#或则 systemctl start nfs
######ubuntu服务器则是 service startnfs-kernel-server start
chkconfig rpcbind on#或则 systemctl enable rpcbind
chkconfig nfs on#或则 systemctl enable nfs
配置防火墙,放行响应端口或服务
firewall-cmd --permanent --add-service=nfs
firewall-cmd --permanent --add-service=rpc-bind
firewall-cmd --permanent --add-service=mountd
firewall-cmd --reload
firewall-cmd --list-all#查看firewalld方向的资源
客户端挂载
showmount -e nfs_server_ip: 查看nfs服务端的可用挂载点
客户端挂载操作
mount -t nfs nfs_server:/var/www/html /bendikongmulu
或者
mount -t nfs nfs_server:/var/www/html /bendikongmulu -o proto=tcp
无报错便成功,当然客户端可以使用 df -h 来查看是否挂载过来了;这里客户端切换到本地挂载点便可以看见服务端的文件了(注意若,服务端共享的目录为空,客户端是无法查看的)