1.NFS服务介绍
NFS和CIFS都是网络文件共享服务,只是CIFS更适用于Windows和linux/unix之间的网络共享,也可以实现linux之间的网络共享,而NFS只适用于linux之间的网络共享,但它更方便快捷。
2.NFS服务搭建
服务端:
下载NFS服务:yum install nfs-utils -y
打开NFS服务:systemctl start nfs-server
防火墙开启的三个端口:
rpc-bind:当其他主机访问服务器时,rpc-bind会告诉访问者NFS服务所对应的端口号;
mountd:当访问者访问NFS服务的端口号时,mountd会告诉访问者共享目录的地址;
nfs:当访问者访问共享目录的地址时,nfs会告诉访问者是否可以访问共享目录的地址。
firewall-cmd --permanent --add-service=rpc-bind
firewall-cmd --permanent --add-service=mountd
firewall-cmd --permanent --add-service=nfs #打开防火墙上的三个端口
firewall-cmd --reload #重新加载防火墙
vim /etc/exports #添加共享目录的配置
/qq *(sync) # /qq 共享目录的地址 *(sync) 任何人允许以sync的方式访问共享目录
exportfs -rv #刷新服务
客户端:
将共享目录挂载在本地目录下,即可访问共享目录:
3.自动挂载和卸载
由于共享目录一直挂载在本地目录下,容易造成资源的浪费,所以配置一个自动挂载和卸载的服务,当主机访问时,自动挂载在本地目录,当主机停止访问时,自动卸载。
客户端:
下载服务:yum install autofs
启动服务:systemctl start autofs.service
自动挂载点在/net下
在autofs配置文件中修改自动卸载的时间,默认为300s,改为3s:
vim /etc/autofs.conf
timeout=3
4.其他挂载点的设置
客户端:
修改主策略文件:
vim /etc/auto.master
/net -hosts
/liu /etc/autofs.nfs #挂载点的上级目录 副策略文件
修改副策略文件:
vim /etc/autofs.nfs
ly 172.25.254.83:/qq #挂载点 共享目录的IP和地址
运行结果:
挂载参数的修改:
ly -ro,vers=3 172.25.254.83:/qq #只读挂载 版本号为3
5.其他挂载参数的设置
/qq *(sync) 172.25.254.200(rw,anonuid=1001,anongid=1001,no_root_squash,all_aquash)
async 实时同步数据到远程服务器,更稳定,数据不容易丢失;
sync 当编辑完数据后,才将数据同步到远程服务器,数据传输更高效;
rw 读写
客户要想在客户端对共享目录进行可写,还需要以下步骤:
1.在服务端修改共享目录的权限
2.在客户端修改挂载目录的配置
3.在服务端修改共享目录的配置
运行结果:
anonuid=1001 将所有匿名用户的uid转换为1001
#westos的uid为1001,所以显示为westos
anongid=1001 将所有匿名用户的gid转换为1001
#和上述的anonuid相同
no_ root_ squash 客户端的root用户不用进行用户身份转换(此代码打开时,默认所有用户不进行用户身份转换)
用普通用户访问共享目录:
客户端kiosk的uid与服务端student的uid相同,所以在服务端显示的是student(没有进行用户身份转换)。
要想除root之外的普通用户也要进行用户身份转换,需要添加:all_squash