nfs文件系统
网络文件系统(NFS)是Unix系统和网络附加存储文件管理器常用的网络文件系统,允许多个客户端通过网络共享文件访问。它可用于提供对共享二进制目录的访问,也可用于允许用户在同一工作组中从不同客户端访问其文件
NFS协议有多个版本:Linux支持版本4、版本3和版本2,而大多数系统管理员熟悉的是NFSv3。默认情况下,该协议并不安全,但是更新的版本(如NFSv4)提供了对更安全的身份验证的支持,甚至可以通过kerberos进行加密。
服务端:
1.yum install nfs-utils -y 安装nfs软件包
2.systemctl start nfs-server 开启nfs服务
3.vim /etc/exports 编辑此文件内容如下
/westos *(sync,ro) sync表示服务端更改数据后,客户端可以看到 /westos表示共享的目录,*表示所有人,ro表示只读
4.exportfs -rv 重新读取/etc/exports
客户端:
1.yum install nfs-utils -y 安装nfs软件包
2.showmount -e 192.168.1.120 查看192.168.1.120下的共享目录
3.mount 192.168.1.120:/westos /mnt 将192.168.1.120下的/westos挂载到/mnt
yum install autofs -y 安装自动挂载软件包,安装后重启服务(systemctl start autofs),会生成/net目录,此目录下没有任何文件,但是可以cd 172.25.254.116 这就表示进入了服务端,ls就可以看到共享目录了,cd westos/就表示将westos目录挂载到/net/172.25.254.116/westos/下
当成功挂载后,系统默认:当对挂载目录不做操作超过300秒后自动卸载
如果想要更改时间,可以编辑/etc/sysconfig/autofs文件里的TIMEOUT数值,单位是秒
systemctl restart autofs.service
测试:vim /etc/sysconfig/autofs 将TIMEOUT改为4,也就是当对挂载目录不做操作超过4秒后自动卸载
客户端:
1.vim /etc/auto.master 写入内容如下:
/pub /etc/auto.pub /pub表示最终挂载点的上层目录,需要自己创建或用系统目录 /etc/auto.pub 这个文件是自己指定的,需要自己编辑
2.vim /etc/auto.pub 编辑文件内容如下:
liming -ro 192.168.1.120:/westos
最终挂载点 挂载参数(只读挂载) 挂载设备
3.重启服务
挂载成功后systemctl restart autofs.service
挂载成功后可以通过mount来查看挂载参数
1.对共享文件有读写权限:
操作前确保防火墙关闭状态,服务开启状态
客户端:vim /etc/auto.pub
westos -rw 172.25.254.116:/westos 对共享目录读写挂载
客户端编辑文件后需要重启服务:systemctl restart autofs.service
但仅仅对客户端做此操作是不够的,服务端也要设置共享目录为可读可写
服务端:vim /etc/exports
/westos *(sync,rw) 设置共享目录为对所有人可读可写
服务端编辑文件后需要重新读取:exportfs -rv
这时,可以对共享目录进行读写了,但是可以发现,创建的文件所有人和所有组都是nfs的匿名用户,即nfsnobody
2.对共享目录创建文件时,以root的身份创建文件:
服务端:vim /etc/exports
/westos *(sync,rw,no_root_squash)
服务端编辑文件后需要重新读取:exportfs -rv
测试:客户端创建文件,在服务端查看文件所有人,所有人为root
3.对共享目录创建文件时,以指定的身份创建文件
服务端:vim /etc/exports
/westos *(sync,rw,anonuid=1001,anongid=1000)创建文件的所有人为1001,所有组为1000
服务端编辑文件后需要重新读取:exportfs -rv
客户端测试在/westos创建文件,在服务端查看文件所有人,所有人为1001,所有组为1000,或许服务端与客户端的所有人所有组的名字不同,但是id都是相同的,只是不同的主机有不同的用户名。
4.对共享目录创建文件时,限制用户的权限
服务端:vim /etc/exports
/westos 192.168.1.220(sync,rw,anonuid=1001,anongid=1000) *(ro) 200客户端对共享文件有读写的权限,且创建文件以所有人为1001,所有组为1000创建文件,其他客户端只有读写权限。
服务端编辑文件后需要重新读取:exportfs -rv
5.更多格式可以查看man 5 exports 搜索EXAMPLE