Linux——nfs文件系统

来源:互联网 发布:画图纸软件下载 编辑:程序博客网 时间:2024/06/01 13:50

上次说到了共享文件系统,这次说说另一个:nfs

nfs和cifs的区别在于

CIFS 是针对 Microsoft Windows 操作系统的本地网络文件系统。Linux 系统可以挂载和访问 CIFS 文件共享 , 如同常见的网络文件系统一样。然而 , 由于 CIFS 是基于 NTFS 文件系统权限模型及其自身的身份验证系统来构建的 , 因而 CIFS 协议中的所有内容并不能很好地映射到 Linux 中

NFS ( Network File System ) 是由 Linux 、 UNIX 及其他类似操作系统使用的互联网标准协议 , 可作为它们的本地网络文件系统。它是一种活动扩展之下的开放标准 , 可支持本地 Linux 权限和文件系统功能

所以说当使用共享文件的系统为LINUX或UNIX的时候可以使用NFS

安装

yum install nfs-utils -y

之后设置防火墙通过服务

firewall-cmd --list-all

firewall-cmd --permanent --add-service=nfs

firewall-cmd --permanent --add-service=rpc-bind

firewall-cmd --permanent --add-service=mountd

firewall-cmd --reload


首先将nfs加入进防火墙的通过名单中,firewall-cmd --list-all    ##查看防火墙的全部信息
nfs文件系统的端口分配是由rpc-bind分配的,所以添加通过名单的时候也要添加rpc-bind
nfs文件系统在使用的时候必须是挂载的方式,所以也要将mountd加入到通过名单中


打开编辑/etc/exports                                          ##文件共享表

*(sync)   立即同步

修改共享文件的权限

chmod 770 /zjj/nfs

将文件中写出的目录创建出来

exportfs -rv            ##刷新export文件


这时在客户端就可以查看共享目录了


showmount -e 172.25.254.154                ##发现nfs文件,等同于samba的smbclient -L

发现之后就可以进行挂载了

mount 172.25.254.154:/zjj/nfs /mnt/

但是我们之前也说过许多的挂载,而且不使用的挂载非常浪费资源

所以选择一种自动挂载的方式,可以在你使用的时候挂载,不使用的时候取消挂载

在客户端进行这个操作

 yum install autofs.x86_64 -y

重新启动服务的时候也会取消挂载

vim /etc/auto.master         ##这个目录下写的是最终挂载点的上层目录和子策略文件

vim /etc/zjj.nfs                ##编辑这个子策略文件

子策略文件上写最终挂载点及将哪一个设备挂载上去   ##-ro只读 -rw读写noatime在文件被浏览的时候忽略accesstime
完成之后cd 上层目录之后进入就可以看到挂载的内容,但是前提是不能自己先将这个目录创建出来,不然会出问题

7.0 和7.2配置文件的目录不同,使用rpc -qc autofs 查看

之后进入,就可以看到内容了

填加读写权限

服务端vim /etc/exports      ##写完这个文件一定不能重启服务,要用exportfs -rv    

 

修改共享目录的权限

chmod 777 /zjj/nfs/

因为不设置登陆用户身份的话就是匿名的,所以要设置为777

客户端

vim /etc/zjj.nfs


systemctl restart autofs.service
测试

修改登陆用户身份

服务端vim /etc/exports

anonuid=1001,anongid=1001(强制登陆用户是用什么身份)


exportfs -rv

客户端测试


no_root_squash(当客户端使用超级用户身份登陆的时候,保持身份不变)(但是这个命令和上一个命令是冲突的)

重复命令。不做测试

当客户端在挂载的目录没有权限创建文件的时候,是因为客户端虽然是超级用户,但是想要修改的文件却是服务端的文件,没有权限修改别的文件