NFS: Net File System ,网络服务系统,也是用于文件共享,分为客户端和服务端,主要用于linux系统之间或linux和unix之间的文件共享。
nfs基本信息和安装
安装包:nfs-utils
服务脚本:nfs-server
共享配置文件:/etc/exports
安装完程序后,执行操作:
systemctl start nfs-server
firewall-cmd --permanent --add-service=rpc-bind
firewall-cmd --permanent --add-service=mountd
firewall-cmd --permanent --add-service=nfs
firewall-cmd --reload
测试:showmount -e 192.168.31.10,列出共享内容
nfs配置
配置文件:vim /etc/exports
写入配置:
共享目录 共享给谁(共享参数)
/testdir *(ro)
ro=只读,rw=读写
配置文件更改后生效要执行命令:exportfs -rv
测试:在客户端,执行showmount -e 192.168.31.10,列出共享内容
mount 192.168.31.10:/testdir /mnt ,挂载共享文件
nfs参数
参数 | 说明 |
---|---|
anonuid=1000,anongid=1000 | 指定用户身份 |
sync | 更改生成后同步数据到服务器 |
async | 实时同步数据到服务器,默认设定是async |
rw | 读写 |
ro | 只读 |
no_root_squash | root用户挂载不转换身份 |
-
我们可以在配置里针对单个主机做独立设置
vim /vim /etc/exports,在里面写入192.168.31.80(ro),表示对80主机只有只读
执行exportfs -rv,然后到192.168.31.80主机里测试,只有80主机无法建立文件
-
anonuid=1000,anongid=1000 指定用户身份
如果不指定时,客户端建立的文件都是无归属的
写入配置,然后执行exportfs -rv
在客户端建立文件
然后在服务端查看,这个文件就会属于uid和gid是1000的用户
-
sync 更改生成后同步数据到服务器
这个参数需要的话直接写在配置即可
-
no_root_squash ,root用户挂载不转换身份
执行exportfs -rv ,然后在客户端建立问价
完后在服务端查看文件属性,身份依然保留的是超级用户的
nfs+autofs
autofs服务开启后会自动在根下建立 net 目录
nfs的自动挂载默认就支持:
要指定自动挂载点,配置方式类似samba的自动挂载配置
vim /etc/auto.master
vim /etc/auto.nfs
重启autofs服务,测试 cd /mnt/nfs