网络文件共享服务、FTP和yum仓库

news2024/11/17 9:24:58

目录

一、存储类型

1、存储类型一共分为三种:

2、三种存储架构的应用场景

二、FTP文本传输协议

1、FTP工作原理介绍

2、FTP数据连接模式

3、svftpd的安装和配置

4、vsftpd的配置作用

5、黑名单和白名单的使用(简要介绍)

三、YUM

1、yum的介绍:

2、yum的实现过程

3、yum配置文件位置

4、YUM命令总结

5、yum源地址

6、搭建本地yum仓库

四、实验:内网环境下http搭建yum仓库

前提:由于是内网环境,虚拟机全部设为仅主机模式,无法连接外部网络,想使用httpd服务组需要搭建一个本地yum仓库

五、实验:内网环境下ftp搭建yum仓库

ftp可以使用内网也可以使用外网


一、存储类型

1、存储类型一共分为三种:

①直连式存储:简称DAS

②存储区域网络:简称SAN(可以使用空间,管理也是你来管理)

③网络附加存储:简称NAS(存储和管理空间都在远程)

2、三种存储架构的应用场景

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

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

③SAN适用于大型数据库系统,缺点是成本高,较为复杂。

二、FTP文本传输协议

1、FTP工作原理介绍

文本传输协议:是早期的三个应用级协议之一,基于C/S结构

数据传输格式:二进制和文本

双通道协议:命令和数据连接 21命令端口(权限,认证)   20数据端口(真实传数据)

2、FTP数据连接模式

①主动模式:服务器主动发起数据连接

②被动模式:服务器被动等待数据连接

3、svftpd的安装和配置

rpm -qc vsftpd                    #检查vsftpd安装包是否存在,存在即不需要安装
yum install -y vsftpd             #yum 安装vsftpd
 
cd /etc/vsftpd
ls                                #切换到安装好vsftpd目录下查看文件
 
cp vsftpd.conf vsftpd.conf.bak    #将vsftpd的配置文件进行备份

4、vsftpd的配置作用

①vsftpd初始化全局配置

vim /etc/vsftpd/vsftpd.conf
 
anonymous_enable=YES            #开启匿名用户访问 默认已开启
local_enable=YES                #允许系统用户进行访问
write_enable=YES                #开放服务器的写权限(若要上传,必须开启)默认已开启
anon_umask=022                  #设置匿名用户所上传数据的权限掩码(反掩码)

②让匿名用户拥有访问本机和各种权限

存在的缺点:匿名用户权限过高,会存在安全隐患

anon_umask=022                  #设置匿名用户所上传数据的权限掩码(反掩码)
anon_upload_enable=YES          #允许匿名用户上传文件。默认已注释,需取消注释
anon_mkdir_write_enable=YES     #允许匿名用户创建(上传)目录,默认已注释,需取消注释
anon_other_write_enable=YES     #允许删除、重命名、覆盖等操作,需添加
 
重启vsftpd服务,关闭安全防护
[root@localhost vsftpd]#systemctl restart vsftpd
[root@localhost vsftpd]#systemctl stop firewalld
[root@localhost vsftpd]#setenforce 0
 
cd /var/ftp                     #切换至匿名用户的默认根目录
chmod 777 /var/ftp/pub          #给予文件夹可读可写可执行权限
echo 'hello world!' > test.txt  
 
检验:
在电脑上CMD:
C:\Users\Zhuo>ftp 192.168.79.130
用户名:ftp,其他的会报错
密码直接回车
get test.txt
发送文件:
put test1.txt

③设置本地用户验证访问ftp,禁止匿名用户登录

root@localhost ftp]# useradd zhangsan
[root@localhost ftp]# echo '123' | passwd --stdin zhangsan
[root@localhost ftp]# useradd lisi
[root@localhost ftp]# echo '123' | passwd --stdin lisi
 
vim /etc/vsftpd/vsftpd.conf
local_enable=Yes        		 #启用本地用户
anonymous_enable=NO     		 #关闭匿名用户访问
write_enable=YES        		 #开放服务器的写权限(若要上传,必须开启)
local_umask=077          		 #可设置仅宿主用户拥有被上传的文件的权限(反掩码)
 
检验:
在电脑上CMD:
C:\Users\Zhuo>ftp 192.168.79.130
zhangsan
123

④对本地用户访问切换目录进行限制

添加切换目录的限制配置 :
vim /etc/vsftpd/vsftpd.conf
 
chroot_local_user=YES   		 #将访问禁锢在用户的宿主目录中
allow_writeable_chroot=YES		 #允许被限制的用户主目录具有写权限
 
systemctl restart vsftpd         #重启服务
 
检验:
C:\Users\Zhuo>ftp 192.168.79.130
连接到 192.168.79.130。
220 (vsFTPd 3.0.2)
200 Always in UTF8 mode.
用户(192.168.233.21:(none)): zhangsan
331 Please specify the password.
密码:
230 Login successful.
ftp> cd /etc
550 Failed to change directory.

5、黑名单和白名单的使用(简要介绍)

黑名单:就是禁止访问的对象

白名单:就是允许访问的对象

企业多用白名单,白名单更加的严格跟安全。

黑名单的使用
userlist_enable=YES			#启用user_list用户列表文件
userlist_deny=YES			#黑名单,禁止user_list名单上的用户进行访问
systemctl restart vsftpd
userlist_deny=NO的时候,user_list名单是白名单只允许在user_list文件内有的用户登录

三、YUM

1、yum的介绍:

yum的定义:

①基于rpm包构建的软件更新机制

②可以自动解决依赖关系

③所有软件包由集中到yum软件仓库提供

2、yum的实现过程

现在yum服务器上创建yum repository(仓库),在仓库中事先存储了众多的rpm包,以及包的相关的数据文件(放置于特定目录repodata下),当yum客户端利用yum工具进行安装包时,会自动下载repodata中的元数据,查询元数据是否存在相关的包以及依赖关系,自动从仓库中找到相关包进行下载并安装。

客户端:

配置文件
服务端:

RPM包(存放在包文件夹Packages中)
元数据(存放在元数据文件夹repodata中,其中包含:目录(软件的目录),软件的依赖关系,软件的分组)
最终形成两个文件夹Packages(包文件夹一般取名packages)和repodata(元数据文件夹)

仓库类型:

光盘的仓库(基本仓库)
epel 扩展仓库


3、yum配置文件位置

①yum主配置文件:/etc/yum.conf

 
[main]  
cachedir=/var/cache/yum/$basearch/$releasever #yum下载的RPM包的缓存目录, $basearch代表硬件架 
                                               构,$releasever系统版本比如7 
keepcache=0                                   #是否保存缓存  0代表不保存 1代表保存  
debuglevel=2                                  #调试级别
logfile=/var/log/yum.log                      #日志文件位置  
exactarch=1                                   #是否允许不同版本的rpm安装  
obsoletes=1                                   #update的参数,是否允许旧版本的运行  
gpgcheck=1                                    #验证密钥,1表示验证  
plugins=1                                     #是否允许插件,1代表允许  
installonly_limit=5                           #保存几个内核 5代表5个  
bugtracker_url=http://bugs.centos.org/set_project.php?project_id=23&ref=http://bugs.centos.org/bug_report_page.php?category=yum  distroverpkg=centos-release  ​  ​  
 
yum的repo配置文件中可用的变量:  
$releasever: 当前OS的发行版的主版本号,如:8,7,6  
$arch: CPU架构,如:aarch64, i586, i686,x86_64等  
$basearch:系统基础平台;i386, x86_64  $contentdir:表示目录,比如:centos-8,centos-7  $YUM0-$YUM9:自定义变量

②仓库设置文件:/etc/yum.repos.d/*.repo

4、YUM命令总结

yum list    显示所有可用包    单个的可安装包
yum info    显示所有可用包的信息    单个具体的信息
yum search    \    模糊查找所有的相关信息
yum whatprovides    \    精确查找
yum install    \    安装具体软件包
yum update    所有软件升级,更新内核    具体软件升级
yum upgrade    只更新软件包,但不更新内核    具体软件更新
yum remove    \    卸载具体软件
yum history    查看当前yum操作历史    \
yum history info    \    加序号列出某次事务的详细信息
yum history undo    \    加序号卸载序号里安装的软件
yum history redo    \    加序号重新执行序号里的操作
yum grouplist    显示所有可用包组    显示具体的包组
yum groupinfo    显示所有的包组具体信息    显示具体的包组的具体信息
yum groupinstall    \    安装具体软件包组
yum group update    所有包组升级    具体包组升级
yum groupremove    \    卸载具体包组软件

5、yum源地址

CentOS系统的yum源
#阿里云
https://mirrors.aliyun.com/centos/$releasever/ 
#腾讯云
https://mirrors.cloud.tencent.com/centos/$releasever/ 
#华为云
https://repo.huaweicloud.com/centos/$releasever/ 
#清华大学
https://mirrors.tuna.tsinghua.edu.cn/centos/$releasever/
 
EPEL的yum源
#阿里云
https://mirrors.aliyun.com/epel/$releasever/x86_64
#腾讯云
https://mirrors.cloud.tencent.com/epel/$releasever/x86_64
#华为云
https://mirrors.huaweicloud.com/epel/$releasever/x86_64
#清华大学
https://mirrors.tuna.tsinghua.edu.cn/epel/$releasever/x86_64
 
#更新源
http://mirrors.aliyun.com/centos/$releasever/updates/$basearch/ http://mirrors.aliyuncs.com/centos/$releasever/updates/$basearch/ http://mirrors.cloud.aliyuncs.com/centos/$releasever/updates/$basearch/

6、搭建本地yum仓库

软件仓库的提供方式

①本地目录:file://绝对路径(file://mnt此处的第三个/为根目录)

②HTTP服务:http://域名或者ip地址/站点里的路径

③FTP服务:ftp://ip地址/站点里路径

mount /dev/sr0 /mnt          #挂载提供安装包
cd /etc/yum.repos.d          #切换到固定目录
mkdir bak                    #建立备份文件夹
mv *.repo bak                #将所有网络源移走,减少干扰
vim zhuo.repo                #自建本地源的配置文件
 
[zhuo]                       #自定义仓库描述
name=zhuoer                  #自定义仓库名
baseurl=file:///mnt          #指明仓库位置
gpgcheck=0                   #不验证安全性(若为1则验证)
 
yum clean all                #清理缓存
yum makecache                #重新建立元数据
yum install bind -y          #下载软件bind进行验证
搭建本地yum仓库脚本
#!/bin/bash
cd /etc/yum.repos.d
mkdir bak 
mv *.repo bak
mount /dev/sr0 /mnt
echo  "[local]
name=local
baseurl=file:///mnt
gpgcheck=0
"> local.repo
yum clean all
yum makecache
echo -e "\E[1;35m本机yum仓库搭建完毕\E[0m"
 

四、实验:内网环境下http搭建yum仓库

前提:由于是内网环境,虚拟机全部设为仅主机模式,无法连接外部网络,想使用httpd服务组需要搭建一个本地yum仓库

服务端ip地址:192.168.170.111     客户端ip地址:192.168.170.113

1、服务端搭建本地yum仓库下载httpd服务,先安装httpd

2、停止nginx启动httpd

3、进入html目录下添加挂载centos7将光驱挂载到centos7目录下

4、关闭防火墙开启httpd服务

5、客户端搭建yum仓库

6、

五、实验:内网环境下ftp搭建yum仓库

ftp可以使用内网也可以使用外网

服务端ip地址为192.168.170.111   客户端ip地址为192.168.170.113

1、服务端搭建本地yum仓库并下载vsftpd服务

2、服务端进入/var/ftp/目录下添加一个挂载目录centos7,将光驱挂载到centos7目录

3、关闭防火墙开启vsftpd服务

4、客户端搭建本地yum仓库并下载vsftpd和ftp服务

5、客户端测试ftp服务是否正常

6、客户端搭建yum仓库

8、客户端测试:安装一个服务查看服务器

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

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

相关文章

1.15 作业

使用计数型信号量设计 2,相关函数的API 一、队列: 1,创建队列函数 osMessageQueueId_t osMessageQueueNew (uint32_t msg_count, uint32_t msg_size, const osMessageQueueAttr_t *attr); msg_count : 队列中消息的最大数量,即…

Docker安全基线检查需要修复的一些问题

一、可能出现的漏洞 限制容器之间的网络流量 限制容器的内存使用量 为Docker启用内容信任 将容器的根文件系统挂载为只读 审核Docker文件和目录 默认情况下,同一主机上的容器之间允许所有网络通信。 如果不需要,请限制所有容器间的通信。 将需要相互通…

【LeetCode题目详解】59. 螺旋矩阵 II 54. 螺旋矩阵 LCR 146. 螺旋遍历二维数组(c++)

这篇文章的题目稍微难一点 题目建议: 本题关键还是在转圈的逻辑,在二分搜索中提到的区间定义,在这里又用上了。 一、59. 螺旋矩阵 II 题目: 给你一个正整数 n ,生成一个包含 1 到 n2 所有元素,且元素按…

原生IP代理如何帮助跨境电商店铺做谷歌广告投放业务的?

随着全球化的发展,越来越多的电商店铺开始拓展跨境业务,而谷歌广告作为全球最大的广告平台之一,为跨境电商店铺带来了巨大的收益和商机。 然而,由于谷歌广告的地域限制和审查机制,店铺很难直接进行投放业务&#xff0…

gradle版本中-bin与-all区别

打开android studio下载的gradle文件,发现-all比-bin多了一个docs文件夹和一个src文件夹。-bin是编译后的二进制发布版,-all还包含了源码和文档,比-bin大了几十兆,两者其余没有区别。 android开发只关注gradle功能不关注实现的情况…

Mingw32编译opencv库

文章目录 1. 准备工作2. 编译cmake构建程序mingw32-make编译 3. 安装4. 安装完的结果 注意: mingw32-make编译的库和MSVC编译的库不兼容,MSVC和mingw-make生成的动态库使用的是不同的ABI(Application Binary Interface)&#xff0…

如何实现无公网ip固定TCP端口地址远程连接Oracle数据库

文章目录 前言1. 数据库搭建2. 内网穿透2.1 安装cpolar内网穿透2.2 创建隧道映射 3. 公网远程访问4. 配置固定TCP端口地址4.1 保留一个固定的公网TCP端口地址4.2 配置固定公网TCP端口地址4.3 测试使用固定TCP端口地址远程Oracle 前言 Oracle,是甲骨文公司的一款关系…

64位ATT汇编语言学习第一课:汇编和链接

源文件exitTest.s内容如下: # This is the first program .global _start .section .text _start:movq $60,%raxmovq $9,%rdisyscall源文件里边放的就是源代码,而我这里源代码是使用汇编语言写的,都是一些人类都可以阅读的字符。之后需要经过…

【UE Niagara】网格体渲染器初识

目录 效果 步骤 一、创建网格体粒子 二、设置粒子生成速率 三、设置粒子初始大小 四、设置粒子生成的初始位置 五、设置粒子移动速度 六、设置粒子旋转 七、 设置粒子大小变化 效果 步骤 一、创建网格体粒子 新建一个Niagara粒子系统 选择“Simple Sprite Burs…

Ubuntu配置NFS客户端和服务端详解——手把手配置

Ubuntu配置NFS客户端和服务端 如果您想实现远程访问并修改 ROS 主机中 Ubuntu 上的文件,可以通过 NFS挂载的方式。虚拟机上的 Ubuntu 系统可以通过 NFS 的方式来访问 ROS 主机中Ubuntu 系统的文件,NFS 分为服务器挂载和客户端访问。这里虚拟机上的 Ubun…

小型洗衣机怎么用?好用不贵的小型洗衣机推荐

近期,有不少小伙伴都在议论“对于内衣是机洗好,还是手洗”这个问题,对于机洗党认为家用的洗衣机就能清洁干净内衣物,而坚定的手洗党则是认为应该用手去洗,因为机洗的话,其他大件衣服混在一起洗,…

Picturesocial | 开发实践:如何在15分钟内将应用容器化

在常见的软件架构体系中,容器无疑是一个技术热点。有些开发者在工作中熟练使用容器技术,有些可能刚刚开始容器之旅。 面对容器使用经验不同的各类开发者,我们希望通过这个系列文章,由浅入深地介绍如何使用容器技术来构建&#xf…

小白从事光伏行业:如何快速入行?

鹧鸪云 在政策引导和产业链不断优化的背景下,国内光伏市场不断扩大,国际市场中也崭露头角,许多人纷纷进入光伏行业,但是苦于不知如何入手。本文着重于为刚刚进入光伏行业的新手小白介绍进入光伏行业的好办法。 光伏行业利用太阳…

【深度学习I-基础知识】

深度学习I-基础知识 1 基础知识1.1 模型的基本概念1.2 机器学习1.2.1 概率建模1.2.2 核方法1.2.3 决策树、随机森林和梯度提升机 1.3 深度学习1.3.1 张量1.3.2 数据批量1.3.3 张量运算1.3.4 训练过程 1 基础知识 1.1 模型的基本概念 模型是现实世界中一类具有泛化共性的真实系…

2024 外网数字化考试——精准限制只允许访问考试站点

一、适用场景: 1、防止考试作弊。校园内,需要用到外网的某个考试站点时,只允许浏览器访问考试网站,别的网站不允许访问时(避免使用搜索引擎搜索参考或答案)。 2、网络流量给教学资源,杜绝网络娱…

企业级做项目的流程

目录标题 前言企业做项目的流程 ⭐⭐总结 前言 我们平时在学校里做项目或者大作业的时候,基本上都是个人开发的,即使有小组一起开发,一般也不会遵守开发规范。最近入职一家企业开始实习,才发现开发规范竟然如此重要,因…

【数据结构】排序之归并排序与计数排序

个人主页 : zxctsclrjjjcph 文章封面来自:艺术家–贤海林 如有转载请先通知 目录 1. 前言2. 归并排序2.1 递归实现2.1.1 分析2.1.2 代码实现 2.2 非递归实现2.2.1 分析2.2.2 代码实现 3. 计数排序3.1 分析3.2 代码实现 4. 附代码4.1 Sort.h4.2 Sort.c4.3…

2. 示例:Spring Boot 入门

1.1 概述 Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。习惯优于配置 1.2 为什么使用Spring Boot J2EE笨重的开发、繁多的配置、低下的开发效率、复杂的部署流程、第三方技术集成难度大。 1.3 Spring Bo…

【python】进阶--->MySQL数据库(四)

一、主键约束 primary key : 唯一标识数据库中的每一条记录. 被主键的值唯一 主键列不能为null 每个表应该都要设置主键添加主键约束 在创建表时,直接在字段后面添加主键约束 create table 表名 (字段名 类型(长度) primary key )创建表时,不直接在字段后面添加主键…

二、Spring Boot与Mybatis代码自动生成

一、Mybatis代码自动生成 下载自动生成java包:https://www.alipan.com/s/7sGR9uGKoVh 下面就是根据这个进行简单配置即可 1.修改 下面主要修改这个文件 如下 如下 如下 运行 2.结果 解释:在运行之后,就会在上面输入的包里面创建…