NFS(Network File System 网络文件服务)

简介: NFS(Network File System 网络文件服务)

一,nfs 简介

1,nfs 性质

NFS(Network File System 网络文件服务) 文件系统(软件)文件的权限 NFS 是一种基于 TCP/IP 传输的网络文件系统协议

通过使用 NFS 协议,客户机可以像访问本地目录一样访问远程服务器中的共享资源 NFS 也是 NAS 存储 设备必然支持的一种协议

NFS 它是文件系统,是操作系统内核来管理的

2,nfs 软件

在 CentOS 7 系统中,需要安装 nfs-utils、rpcbind 软件包来提供 NFS 共享服务

nfs-utils (包括服务器端和客户端) 用于 NFS 共享发布和访问

rpcbind  用于 RPC 支持

手动加载 NFS 共享服务时,应该先启动 rpcbind,再启动 nfs。

3,nfs 特点

采用TCP/IP传输网络文件; 安全性低 ;简单易操作 适合局域网环境

4,nfs 端口号

rpcbind 端口号111(固定)  nfs端口号不固定

5,nfs日志

日志:/var/lib/nfs/

6,nfs 配置文件

/etc/exports
/etc/exports.d/*.exports

二,nfs  原理

NFS优势:节省本地存储空间,将常用的数据如:/home 目录,存放在NFS服务器上且可以通过网络访问,将减少本地磁盘的使用率

rpcbind 端口号111(固定)  nfs端口号不固定

客户端先去找rpcbind rpcbind 告诉客户端端口号

三,NFS共享配置文件格式

/dir                  *    

共享目录      共享给哪个主机(权限)

(一)主机名格式

1,网段:

两种掩码格式均支持

172.18.0.0/16  

172.18.0.0/255.255.0.0

2,  域名    

*.kgc.com

3,*      

指共享所有人

(二)权限格式

默认选项:(ro,sync,root_squash,no_all_squash)

1,ro,rw

只读和读写

2,async

异步,数据变化后不立即写磁盘,先写入到缓冲区中,过一段时间再写入磁盘,性能高,安全性

3, sync(1.0.0后为默认)

同步,数据在请求时立即写入共享存储磁盘,性能低,安全性高

4,root_squash (默认)

意思是压榨root

所有客户机root映射为nfsnobody,UID为65534,CentOS8 为nobody,CentOS 7以前的版本为nfsnobody

5,no_root_squas

不压榨root

6,all_squash

所有远程用户(包括root)都变成nfsnobody,CentOS8 为nobody

7,no_all_squash

(默认)保留共享文件的UID和GID

8,anonuid和anongid

指明匿名用户映射为特定用户UID和组GID,而非nobody,可配合all_squash使用

四,实验步骤nfs

(一)搭建nfs

1,   实验准备:

服务机下载nfs-utils、rpcbind

客户机下载nfs-utils

2,服务机新建一个专门用于共享的文件夹    /share    

放123.txt

3,手搓 服务机nfs  的配置文件

4, 启动nfs  服务  并重新加载配置文件

5, 去到客户机

showmount  -e  可显示nfs 服务器 加载的信息

6,  将服务机  /share    文件夹挂载到   /mnt 上

如果想永久挂载需要写道/etc/fstab文件中

此处写错!格式为192.168.217.77:/share

192.168.217.77:/share      /mnt               nfs                  defaults     _netdev           0            0
#IP地址:/共享文件名       #挂在点       #文件类型      #权限         #没网不加载   #不备份  #不检查

 

7, 客户机想创建文件,权限拒绝

原因:  /share   文件夹的权限不足

            nfs  软件权限不足

8,在服务机     给share 文件夹加上权限    让其他客户机(other)可以写入文件

并在  服务机nfs 配置文件   加上权限

重新加载配置文件

9,客户机再次写入345.txt  成功

注意:虽然客户机是root账户       但是文件的属主变成了  nfsnobody   (nfs匿名账户)

因为服务机nfs 配置文件有一条默认权限    root_squash

即压榨 root用户   只要是root用户创建的文件 都变成nfsnobody

(二)更改服务机  nfs 配置文件权限

1,关闭压榨root

2,统一压榨

nonuid和anongid       配合all_squash使用

在服务机/data   这个共享文件夹       压榨所有的客户机用户,都变成uid 为1003   组id为1003 的用户

记得前提:服务机里要有  uid 为1003   组id为1003 的用户哦

五,NFS工具

1,exportfs

exportfs:可用于管理NFS导出的文件系统

常见选项:

-v #查看本机所有NFS共享-r #重读配置文件,并共享目录-a #输出本机所有共享-au #停止本机所有共享

2, showmount

常见用法:

showmount -e hostname  

[root@centos7 ~]#showmount -e 10.0.0.8

Export list for 10.0.0.8:

/data/wordpress *

3, mount.nfs

客户端NFS挂载

NFS相关的挂载选项:man 5 nfs

fg #(默认)前台挂载

bg #后台挂载

hard #(默认)持续请求

soft   #非持续请求

intr   #和hard配合,请求可中断

rsize #和wsize 一次读和写数据最大字节数,rsize=32768

_netdev #无网络连接不挂载

vers    #指定版本,客户端centos8默认4.2 ,centos7默认4.1 centos6默认4.0

六,搭建一台NFS共享服务器

实验目的,电脑访问7-1  7-2看到的内容都是一样的,都是nfs 服务机共享文件夹的内容

这样7-2,7-3  这两台服务机只需要能接受很多人访问就可以,不需要很多存储空间,网页的内容都由7-1 nfs服务机  来提供

(一)httpd 原理

httpd  主页面在  /var/www/html/

当我们在主页面    写入  hello my son

index是随便取的名字              html是web页面的格式    

电脑访问对应ip

(二) 搭建一台NFS共享服务器

7-1nfs 服务机:

1,安装软件

2,创建一个用于做nfs 文件分享

3, 手搓nfs  配置文件

4, 重新加载配置文件    给足权限

7-2,7-3  步骤:

1,启动httpd 网页服务

2,将   7-1的共享文件夹    挂载到     httpd  主页面 /var/www/html/    

再去到7-1 nfs服务机

在共享文件/share     写入

真实电脑操作:

不论是访问7-2   还是7-3    都会显示   7-1nfs 服务机的内容

相关文章
|
1天前
|
网络协议 安全 Shell
`nmap`是一个开源的网络扫描工具,用于发现网络上的设备和服务。Python的`python-nmap`库允许我们在Python脚本中直接使用`nmap`的功能。
`nmap`是一个开源的网络扫描工具,用于发现网络上的设备和服务。Python的`python-nmap`库允许我们在Python脚本中直接使用`nmap`的功能。
19 7
|
5天前
|
云安全 安全 网络安全
云端防御:融合云服务与先进网络安全策略
【5月更文挑战第70天】 在数字经济的浪潮中,云计算已成为企业信息化建设的核心动力。然而,伴随其快速发展的是日益严峻的网络安全挑战。本文深入探讨了云服务的基本架构、网络安全的重要性以及信息安全的关键措施,并提出了一个综合框架以增强云环境下的数据安全。通过分析最新的技术趋势和策略,我们旨在为读者提供一套实用的解决方案,以确保在享受云计算带来的便利的同时,有效地防范潜在的网络威胁。
|
27天前
|
网络协议 NoSQL Go
理解基于tcp的网络服务
【6月更文挑战第18天】本文构建了一个基于Golang的TCP网络服务,采用C/S架构。服务提供双倍回显功能,类似telnet,监听`:8910`端口。完整源码可在GitHub找到。
54 6
|
28天前
|
Docker 容器
docker network inspect 查询出来的网络的创建命令是什么
【6月更文挑战第17天】docker network inspect 查询出来的网络的创建命令是什么
23 1
|
7天前
|
缓存 Java 数据库连接
使用Java构建一个高并发的网络服务
使用Java构建一个高并发的网络服务
|
29天前
|
存储 安全 网络安全
勒索软件即服务的兴起与网络攻击的商业化
勒索软件即服务的兴起与网络攻击的商业化
|
9天前
|
网络协议 Linux 开发工具
配置Linux固定IP地址,为什么要固定IP,因为他是通DHCP服务获取的,DHCP服务每次重启都会重新获取一次ip,VMware编辑中有一个虚拟网络编辑器
配置Linux固定IP地址,为什么要固定IP,因为他是通DHCP服务获取的,DHCP服务每次重启都会重新获取一次ip,VMware编辑中有一个虚拟网络编辑器
|
17天前
|
负载均衡 网络安全 SDN
CloudStack中的网络服务提供者
CloudStack中的网络服务提供者
12 0
|
24天前
|
机器学习/深度学习 计算机视觉
【YOLOv8改进】MSFN(Multi-Scale Feed-Forward Network):多尺度前馈网络
**HCANet: 高光谱图像去噪新方法**\n混合卷积与注意力网络(Hybrid Convolutional and Attention Network)是针对HSI去噪的创新模型,结合CNN和Transformer,强化全局与局部特征。它使用卷积注意力融合模块捕获长距离依赖和局部光谱相关性,多尺度前馈网络提升多尺度信息聚合。代码可在[GitHub](https://github.com/summitgao/HCANet)获取。
|
27天前
|
Web App开发 JSON 前端开发
网络调试利器:Chrome Network工具的详细指南
Chrome开发者工具的Network面板是测试工程师的利器,用于监视HTTP请求、响应及资源加载。打开它可通过右键点击页面选择“检查”或使用快捷键。界面包含请求列表和详细信息,如Headers、Preview、Response、Timing。过滤器帮助定位特定请求,而瀑布流图展示加载顺序。模拟网络环境和保存HAR文件功能便于性能分析和问题排查。
30 0