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

发布时间:2024年01月15日

目录

一、存储类型

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

文章来源:https://blog.csdn.net/rmh0713/article/details/135602064
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。