****NFS(网络文件系统)简介
NFS(Network File System)即网络文件系统,它允许网络中的计算机之间
通过TCP/IP网络共享资源。在NFS的应用中,本地NFS的客户端应用可以透
明地读写位于远端NFS服务器上的文件,就像访问本地文件一样,也就是说
客户端PC可以挂载NFS服务器所提供的目录并且挂载之后这个目录看起来
如同本地的磁盘分区一样,可以使用cp、cd、mv、rm及df等与磁盘相关的
命令。
要注意的部分:
1、 网络共享服务nfs使客户端可以远程访问服务端共享出去的目录(只能是目录),并且客户端必须通过mount 挂载服务端的目录之后才能实现对目录的访问。
2、nfs采用明文传输的方式,数据安全性不能保证。
3、 方便部署,简单快捷。
练习一(以下练习均部署在两台虚拟机中)
开放服务端/nfs/shared,挂载此目录到客户端/mnt,并使客户端实现只读。
1.Systemctl stop firewalld
setenforce 0(0为警告模式)
关闭防火墙和selinux(关闭之后部署比较简单,否则还要对selinux和防火墙做配置)
2.systemctl start nfs 开启nfs服务
3.编辑服务端nfs的配置文件:/etc/exports ,实现开放服务端目录/nfs/shared 并且设置访问权限为只读(还需创建目mkdir /nfs/shared -p,并且在此目录下touch文件,以便客户端测试)
Vim /etc/exports 编辑配置文件并写入以下:
/nfs/shared 192.168.115.0/24(ro)
/nfs/shared 为服务端共享给客户端的目录
192.168.115.0/24 为允许连接nfs服务的客户端ip(此处允许115.0网段主机都可访问)
(ro) 设置客户端的访问权限为只读,若要实现读写则修改为(rw)
4.重启nfs服务并且重新读取文件
Systemctl restart nfs
exportfs -ra
5.在服务端查看nfs共享目录 showmount -e 192.168.115.149(服务端ip)
6.在客户端将服务端共享目录/nfs/shared/挂载到客户端下的/mnt
Mount 192.168.115.149:/nfs/shared /mnt
7.切换到客户端/mnt 查看共享出的文件
8.因为服务端共享目录为只读权限 所以删除和写入不能执行
练习二
开放/nfs/upload,并实现用户映射(all_squash既可以实现用户映射,将客户端的所有用户和组映射为uid210gid210的用户,可以实现服务端和客户端文件区分)
2.Vim /etc/exports
3.Mkdir /nfs/upload -p (创建目录)
4.Exportfs -r (重启服务并且重新读取)
5.Systemctl restart nfs
6.在客户端查看showmount -e 192.168.115.148
7.将/nfs/upload 挂载到/tmp
8.在客户端cd /tmp 可以创建目录文件
9.在服务端创建uid gid=210 的nfs-upload用户
在客户端查看,显示uid gid=210 完成
练习三
将/home/tom目录仅共享给192.168.171.144这台主机,并只有用户tom可以完全访问该目录
1.Vim /etc/exports 编辑文件,写入共享目录信息
2./home/tom 192.168.115.133(rw) (客户端ip)
3.Systemctl restart nfs重启服务并重新读取文件
Exportfs -ra
4.在服务端创建tom用户和tom 组,并且修改/home/tom的所属用户所属组为Tom,在客户端创建相同uid和gid的tom用户(实现tom用户对/home/tom的控制,读写执行)
5.Mount 192.168.115.149:/home/tom /mnt挂载服务端的共享目录到客户端的/mnt
6.Exportfs -r 重新读取配置
7.Cd /mnt 查看是否拥有所有的权限
8.Su - root cd /mnt 也可以查看文件,并且可以创建
9.Chmod 700 /home/tom再到服务端修改其他用户的权限(客户端的root用户对于服务端是其他用户)
10.出现以下情况。实现只有tom用户才能实现控制。