您的位置:首页 > 运维架构 > Linux

Linux下的NFS服务器(网络文件系统)

2019-08-14 23:28 393 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/qq_45034392/article/details/99615303

文章目录

背景

NFS为Network File System 的简称,它的目的就是想让不同的机器、不同的操作系统可以彼此共享数据文件。(通过网络共享文件系统)

一、什么是NFS?

NFS为Network File System 的缩写,由Sun公司开发
它的最大功能是可以通过网络,让不同的机器、不同的操作系统可以彼此共享彼此的文件
所以,也可以简单地将它看作是一个文件服务器
这个NFS服务器可以让PC将网络中的NFS服务器共享的目录挂载到本地端的文件系统中,而在本地端的系统中看来,那个远程主机的目录就好像自己的一个磁盘分区一样,在使用上相当便利。

二、搭建一个基本的nfs服务器,实现自动卸载和本地挂载

实验前搭建实验环境(ip,yum源,两台虚拟机,一台作为服务端(172.25.254.136),一台作为客户端(172.25.254.236))
在服务端做
步骤一:下载nfs服务器的软件

yum install nfs-utils 安装服务
并打开服务


步骤二:在火墙中添加nfs服务


步骤三:测试
在客户端查看

步骤四:编辑nfs配置文件
/etc/exports




在客户端
步骤一:yum install antofs -y 安装可以实现自动挂载文件系统的服务


步骤二:

cd 172.25.254.136进入服务器
ls 能够看到172.25.254.136共享的/westos_nfs目录
cd westos_nfs
df 发现已经自动挂载


步骤三:退出,等待,编辑相对应的配置文件等待的时间(以秒为单位)

三、自定义挂载点(在客户端进行)

需要下载自动挂载软件。

步骤一:

编辑主策略文件:最终挂载点的上层目录,定义子策略文件/etc/auto.nfs
vim /etc/auto.master 编辑自动挂载的主策略文件


步骤二:

编辑子策略文件:写最终挂载点和挂载设备(/etc/auto.nfs)
重启服务	autofs


步骤三:测试

在同一个目录下面的话,子策略文件可以写在一起。
在服务端只有超户可以读写文件,那么在客户端不能建立文件。
步骤四:查看挂载类型

可以看出是读写挂载,vers=4,如何设置自动挂载类型?
(1)vim /etc/auto.nfs,改为只读挂载,vers=3。

(2)查看

四、/etc/exports配置文件的权限参数

在服务端做

参数值 内容说明
rw/ro 该目录共享的权限是可读写或只读,但最终能不能读写,还是与文件系统的rwx及身份有关
sync/async sync代表数据会同步写入到内存与磁盘中,效率高,做完同步。async则代表数据会先暂停存于内存当中,而非直接写入硬盘,async稳定性高,实时同步
anonudi/anongid anon意指匿名用户关于*_squash提到的匿名用户的UID的值,但是可以设置这个id,当然,这个uid必须存在于/etc/passwd当中(用户/用户组id)
no_root_squash/root_squash 客户端使用nfs文件系统的帐号若为root,系统该如何判断这个帐号的身份?默认情况下,客户端root的身份会由root_squash的设置压缩成匿名用户,如此对服务器的系统比较有保障,但如果想要开放客户端使用root身份来操作服务器的文件系统,就需要开放no_root_squash
all_squash 不论登录nfs的用户身份为何,它的身份都会被压缩为匿名用户


(1)我们在客户端的配置文件中允许客户端读写权限,但是在客户端依旧不能建立文件等操作,我们将挂载子策略文件案权限改为rw,发现依旧不能读写操作,但报错改变了,此时报错的原因是因为服务端没有给共享文件权限,在服务端只允许超户对其有读写权限,而客户端没有超户权限。
(2)给予文件777权限(777权限不安全),在客户端可以进行读写操作,我们可以看到uid为匿名用户,更改其用户和用户组。在服务端添加参数,刷新生效。即改生效(对于客户端而言,因为是将改完之后的同步到客户端),我们可以看到客户端建立的文件的用户和用户组改变。



(3)no_root_squash

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: