Linux网络服务的存储,FTP服务和NFS共享

news2024/9/22 23:23:18

目录

一.存储

1.存储类型

2.应用场景

二.FTP服务

1.FTP工作原理介绍

2.FTP协议的两种模式

3.用户类型

4.匿名用户案例

三.NFS

1.NFS简介

2.NFS服务主要进程

3.NFS特点

4.NFS共享配置文件格式

5.NFS工具

5.1  exportfs

5.2  showmount

5.3  mount.nfs

6.创建文件夹实验


一.存储

1.存储类型

存储类型分为三种

  • 直连式存储:Direct-Attached Storage,简称DAS

  • 网络附加存储:Network-Attached Storage,简称NAS

  • 存储区域网络:Storage Area Network,简称SAN

DAS:存储和主机是直连的,家用电脑,服务和硬盘直连,存储和主机在一台机器上

SAN:有一定距离,主机核存储设备距离先对较远 ,只提供空间不提供文件系统,管理等其他软件服务,只相当于多了一块硬盘

NAS:存储在远程,文件系统也在远程,这块空间,你可以直接访问上面的文件,你只能看到文件,文件共享NFS FTP 等都是NAS

2.应用场景
  • DAS虽然比较古老了,但是还是很适用于那些数据量不大,对磁盘访问速度要求较高的中小企业

  • NAS多适用于文件服务器,用来存储非结构化数据,虽然受限于以太网的速度,但是部署灵活,成本低

  • SAN则适用于大型应用或数据库系统,缺点是成本高、较为复杂二.

二.FTP服务

1.FTP工作原理介绍

FTP(File TransferProtocol,文件传输协议)是典型的C/S架构的应用层协议,需要由服务端软件、客户端软件两个部分共同实现文件传输功能。FTP客户端和服务器之间的连接是可靠的,面向连接的,为数据的传输提供了可靠的保证。tcp协议:20,21端口。

20端口:传输真实数据       21端口:传输命令端口

2.FTP协议的两种模式

(1)主动模式(PORT  style):服务器开启20端口主动连接客户端,传递数据

         命令(控制):客户端:随机port   ----> 服务器:21/tcp

         数据:客户端:随机port  <----服务器:20/tcp

过程:客户端随机生成一个端口号,主动去连接服务器的tcp21端口,服务器为主动模式那么服务器会主动开启20端口和客户端相连,然后传输数据

(2)被动模式(PASV  style):服务器开启随即端口,被动等待客户端连接,然后传递数据

         命令(控制):客户端:随机port   ---->  服务器:21/tcp

         数据:客户端:随机port  ----> 服务器:随机port /tcp

过程:客户端随机生成一个端口号,主动去连接服务器的tcp21端口,服务器是被动模式,服务器会产生一个随机的端口号,被动等待客户机来连接后在发送数据

3.用户类型
  • 匿名用户:ftp,anonymous,对应Linux用户ftp

  • 系统用户:Linux用户,用户/etc/passwd,密码/etc/shadow

  • 虚拟用户:特定服务的专用用户,独立的用户/密码文件

4.匿名用户案例

设置匿名用户访问的ftp服务(最大权限)

进入配置文件/etc/vsftpd/vsftpd.conf   修改配置文件


[root@zxy12 ~]# vim /etc/vsftpd/vsftpd.conf
 
anonymous_enable=YES           #开启匿名用户访问,默认开启
write_enable=YES               #开放服务器的写权限,默认已开启
local_umask=022                #设置匿名用户所上传数据的权限掩码(反掩码)
local_enable=YES               #是否允许linux用户登录
anon_upload_enable=YES         #允许匿名用户上传文件,默认已注释,这里需取消注释
anon_mkdir_write_enable=YES    #允许匿名用户创建目录,默认已注释,这里需取消注释
anon_other_write_enbale=YES    #允许删除、重命名、覆盖等操作。这里需要添加
guest_enable=YES 						#所有系统用户都映射成guest用户
guest_username=ftp   					#配合上面选项才生效,指定guest用户
local_root=/ftproot 					#指定guest用户登录所在目录,但不影响匿名用户的登录目录
user_config_dir=/etc/vsftpd/conf.d/ 	#每个用户独立的配置文件目录
chroot_local_user=YES                   #禁锢系统用户,默认NO,即不禁锢
#wu-ftp 日志:默认启用
xferlog_enable=YES                      #启用记录上传下载日志,此为默认值
xferlog_std_format=YES                  #使用wu-ftp日志格式,此为默认值
xferlog_file=/var/log/xferlog           #可自动生成, 此为默认值
#vsftpd日志:默认不启用
dual_log_enable=YES                     #使用vsftpd日志格式,默认不启用
vsftpd_log_file=/var/log/vsftpd.log     #可自动生成, 此为默认值

修改/var/ftp/pub 文件权限为777

匿名访问测试

三.NFS

1.NFS简介

NFS(Network File System 网络文件服务) 文件系统(软件)文件的权限 NFS 是一种基于 TCP/IP 传输的网络文件系统协议,最初由 Sun 公司开发。 通过使用 NFS 协议,客户机可以像访问本地目录一样访问远程服务器中的共享资源 NFS 也是 NAS 存储 设备必然支持的一种协议

软件包:nfs-utils(包括服务器和客户端相关工具,CentOS8 最小化安装时默认没有安装)

相关软件包:rpcbind(必须),tcp_wrappers

Kernel支持:nfs.ko

端口:2049(nfsd), 其它端口由portmap(111)分配

2.NFS服务主要进程

- rpc.nfsd 最主要的NFS进程,管理客户端是否可登录
- rpc.mountd 挂载和卸载NFS文件系统,包括权限管理
- rpc.lockd 非必要,管理文件锁,避免同时写出错
- rpc.statd 非必要,检查文件一致性,可修复文件

说明:CentOS 6 开始portmap进程由rpcbind代替

日志:/var/lib/nfs/

NFS配置文件:

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

3.NFS特点

(1)采用TCP/IP传输网络文件

(2)安全性低

(3)简单易操作

(4)适合局域网环境

4.NFS共享配置文件格式

/dir   主机1(opt1,opt2)   主机2(opt1,opt2)

格式:共享目录  客户机地址 (权限)
默认选项:(ro,sync,root_squash,no_all_squash)
ro,rw 只读和读写
async 异步,数据变化后不立即写磁盘,先写入到缓冲区中,过一段时间再写入磁盘,性能高,安全性低
sync(1.0.0后为默认)同步,数据在请求时立即写入共享存储磁盘,性能低,安全性高
root_squash (默认)远程root映射为nfsnobody,UID为65534,CentOS8 为nobody,CentOS 7以前的版本为nfsnobody
no_root_squash 远程root映射成NFS服务器的root用户
all_squash 所有远程用户(包括root)都变成nfsnobody,CentOS8 为nobody
no_all_squash (默认)保留共享文件的UID和GID
anonuid和anongid 指明匿名用户映射为特定用户UID和组GID,而非nobody,可配合all_squash使用
5.NFS工具
5.1  exportfs

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

常见选项:

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

示例:

进入/etc/exports  配置文件,编辑配置文件

exportfs  -v       #查看本机所有NFS共享

exportfs  -r        #重读配置文件,并共享目录

exportfs  -au     #停止本机所有共享

5.2  showmount

远端客户查看有哪些共享文件夹

常见用法:

showmount -e hostname  

[root@centos7 ~]#showmount -e 192.168.240.11
Export list for 192.168.240.11:
/share *

5.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

示例:

将一些文件复制到/share下

临时挂载

主机11 ip地址 :文件夹      主机12的挂载目录

永久挂载

[root@zxy12 ~]# vim   /etc/fstab

192.168.240.11:/share   /mnt    nfs    defaults,_netdev    0   0

netdev:如果前面不通就不进行挂载

6.创建文件夹实验

在主机12上/mnt下创建文件夹

编辑主机11配置文件/etc/exprots,增加权限

no_all_squash :不压榨普通用户

root_squash  :压榨其他主机管理员

主机12在/mnt下创建文件夹

yum install nfs-utils.x86_64 -y
#客户端服务端两边都需要安装 nfs软件

vim /etc/exports
/share   *
/share   *(rw)
/share   *(rw,no_root_squash)
#不压榨root
/share   *(rw,no_root_squash,all_squash
#都压榨
/nfs1 *(rw,no_root_squash,all_squash,anonuid=1003,anongid=1003)
#指定压榨成统一用户

#文件系统需要权限
chmod  777  /share

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1645511.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

张大哥笔记:卖盗版网课,获利 100 万被抓

这几天刷视频&#xff0c;看到一个新闻&#xff0c;某大学生卖盗版网课&#xff0c;把别人2000多正版网课&#xff0c;以做活动名义售卖20元&#xff0c;获利100多万被抓。 下方图片来自&#xff1a;极目新闻 卖这种盗版网课&#xff0c;门槛低&#xff0c;成本低&#xff0c;…

CWDM、DWDM、MWDM、LWDM:快速了解光波复用技术

在现代光纤通信领域&#xff0c;波分复用&#xff08;WDM&#xff09;技术作为一项先进的创新脱颖而出。它通过将多个不同波长和速率的光信号汇聚到一根光纤中来有效地传输数据。本文将深入探讨几种关键的 WDM 技术&#xff08;CWDM、DWDM、MWDM 和 LWDM&#xff09;&#xff0…

软考中、高项变成了一年考一次,还有机会上岸吗?

真正想考试的人机会一直都在&#xff0c;虽然这次考试频次减少了&#xff0c;但整个调整还未涉及到考试内容方面&#xff0c;所以如果你现在考不过的话&#xff0c;之前也未必可以&#xff0c;主要还是要对考试内容有足够的熟悉才能顺利通过。 一、做了哪些科目调整 将软考初…

04-19 周四 GitHub CI 方案设计

04-19 周四 GitHub CI 方案设计 时间版本修改人描述2024年4月19日14:44:23V0.1宋全恒新建文档2024年4月19日17:22:57V1.0宋全恒完成部署拓扑结构的绘制和文档撰写 简介 需求 由于团队最近把代码托管在GitHub上&#xff0c;为解决推理、应用的自动化CI的需要&#xff0c;调研了…

c++笔记——概述运算符重载——解析运算符重载的难点

前言:运算符重载是面向对象的一个重要的知识点。我们都知道内置类型可以进行一般的运算符的运算。但是如果是一个自定义类型&#xff0c; 这些运算符就无法使用了。那么为了解决这个问题&#xff0c; 我们的祖师爷就在c中添加了运算符重载的概念。 本篇主要通过实例的实现来讲述…

docker的安装以及docker-compose

什么事docker Docker是一种轻量级的容器技术&#xff0c;可以帮助开发者更加方便地打包、发布和管理应用程序。在Linux系统上安装Docker非常容易. 安装和使用docker 1:首先安装必须的管理工具&#xff0c;使用Linux 终端命令 sudo yum install -y yum-utils device-mapper-per…

LearnOpenGL(七)之摄像机

一、摄像机/观察空间 当我们讨论摄像机/观察空间(Camera/View Space)的时候&#xff0c;是在讨论以摄像机&#xff08;人&#xff09;的视角作为场景原点时场景中所有的顶点坐标&#xff1a;观察矩阵把所有的世界坐标变换为相对于摄像机位置与方向的观察坐标。要定义一个摄像机…

60张图,告诉你IT运维方案的关键

号主&#xff1a;老杨丨11年资深网络工程师&#xff0c;更多网工提升干货&#xff0c;请关注公众号&#xff1a;网络工程师俱乐部 我的网工朋友大家好。 在公司打工的哪里会不懂&#xff0c;有一个靠谱的、整体的运维计划&#xff0c;简直IT行业的主心骨。 但是&#xff0c;说…

从字典中提取键到另一个Python字典

1、问题背景 有一个很大的Python字典&#xff0c;其中一个键的值是另一个字典。现在想创建一个新的字典&#xff0c;使用这些值&#xff0c;然后从原始字典中删除该键。但目前并不了解是否有函数可以将这些值导出到另一个字典中&#xff0c;仅知道可以使用.pop()函数进行删除。…

什么是容器微隔离 - 容器微隔离技术有哪些

如果您对容器安全有任何问题可以联系安全狗对您的容器进行安全防护。 容器微隔离是一种在容器化环境中实现安全隔离的技术。随着云计算和容器化技术的广泛应用&#xff0c;容器已成为企业IT架构中的重要组成部分。然而&#xff0c;随着容器数量的增加&#xff0c;容器之间的交…

JAVA----Thread(2

Thread 提供的属性和方法 目录 Thread 提供的属性和方法一.构造方法1.Thread() :2.Thread(Runnable target) :3.Thread(String name) :main 线程 4.Thread(Runnable target, String name) : 二.属性1.ID (getId)2.名称(getName)3.状态(getState)4.优先级 (getPriority)5.是否后…

vue+element-ui实现横向长箭头,横向线上下可自定义文字(使用after伪元素实现箭头)

项目场景&#xff1a; 需要实现一个长箭头&#xff0c;横向线上下可自定义文字 代码描述 <div><span class"data-model">{{ //上方文字}}</span><el-divider class"q"> </el-divider>//分隔线<span class"data-mod…

一竞技MSI:淘汰赛抽签结果出炉 BLG和T1同半区,TES首轮交手TL!

北京时间5月6日&#xff0c;MSI在今天进入短暂的休赛&#xff0c;在昨天结束的入围赛之后&#xff0c;PSG战队作为外卡赛区唯一的队伍进入到正赛&#xff0c;另外欧洲赛区的FNC战队也是击败GAM战队拿到正赛的资格。在比赛结束之后&#xff0c;也是进行了淘汰赛的胜败分组赛的抽…

前端css中animation(动画)的使用

前端css中animation的使用 一、前言二、主要内容说明&#xff08;一&#xff09;、animation-name&#xff08;名称&#xff09;属性&#xff08;二&#xff09;、animation-duration&#xff08;持续时间&#xff09;属性1.前两个属性举例&#xff0c;源码12.源码1运行效果&am…

unity制作app(5)--发送数据给数据库

这个之前做过&#xff0c;先不做照片的。下一节再做带照片的。 第一步 收集数据 1.先做一个AppModel结构体&#xff0c;这个结构体需要单做的。 using System; using System.Collections.Generic; using System.Linq; using System.Text; //using Assets.Model; public clas…

STM32单片机实战开发笔记-I2C通讯总线【wulianjishu666】

嵌入式单片机开发实战例程合集&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/11av8rV45dtHO0EHf8e_Q0Q?pwd28ab 提取码&#xff1a;28ab I2C模块测试 功能描述 I2C总线接口连接微控制器和串行I2C总线。它提供多主机功能&#xff0c;控制所有I2C总线特定的时序&am…

微信小程序原生代码实现小鱼早晚安打卡小程序

大家好&#xff0c;我是雄雄&#xff0c;欢迎关注微信公众号&#xff1a;雄雄的小课堂 小鱼早晚安打卡小程序&#xff1a;开启健康生活&#xff0c;共享正能量 在这个快节奏的时代&#xff0c;我们常常被各种琐事和压力所困扰&#xff0c;以至于忽略了对健康生活方式的追求。然…

Linux—-vim基础使用

1、基本概念 Vim的工作模式有四种&#xff0c;普通模式&#xff0c;输入模式&#xff0c;命令模式&#xff0c;可视模式。 在终端中打开vim&#xff0c;只需要输入vim 文件&#xff0c;在普通模式下按i就会进入到输入模式&#xff0c;按下:进入命令模式&#xff0c;输入:q就可…

Error: error:0308010C:digital envelope routines::unsupported 问题如何解决

Error: error:0308010C:digital envelope routines::unsupported 通常与 Node.js 的加密库中对某些加密算法的支持有关。这个错误可能是因为 Node.js 的版本与某些依赖库不兼容导致的。特别是在 Node.js 17 版本中&#xff0c;默认使用 OpenSSL 3&#xff0c;而一些旧的加密方式…

第3章 WebServer重构

3.1 重构原生Web服务框架 3.1.1 分析原生Web服务框架 在服务端代码的 ClientHandler 中&#xff0c;请求解析、处理请求、返回响应的代码混杂在一起&#xff0c;这样的设计会导致代码难以维护和理解。为了提高代码的可读性、可维护性和可扩展性&#xff0c;我们需要对这些代码…