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