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

本文详细介绍了在内网环境中如何通过FTP和HTTP搭建yum仓库,包括存储类型的区分、FTP协议的工作原理和配置、YUM的基本概念、yum仓库的搭建步骤,以及在没有外部网络的情况下如何在内网环境中实现这些功能。
摘要由CSDN通过智能技术生成

目录

一、存储类型

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、客户端测试:安装一个服务查看服务器

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值