星星博客 »  > 

linux --FTP服务器,部署YUM仓库

linux --FTP服务器,部署YUM仓库

  • 一.FTP服务器
    • 1.1概述
      • Standard模式
      • Passive模式
  • 二.搭建FTP服务器
    • 2.1安装,开启服务
    • 2.2登陆
    • 2.3ftp的配置文件/etc/vsftpd/vsftpd.conf
    • 2.4FTP的下载和上传功能
      • 2.4.1 FTP的下载功能
      • 2.4.2FTP的上传功能
        • 用户FTP登录时可用put 指令上传文件,但由于权限的问题,所以要修改权限才能上传文件
  • 三.ftp限制普通用户权限
  • 四.ftp允许root登陆
  • 五.ftp仅允许某些用户或某个用户登陆
  • 六.ftp安全性验证
  • 七.YUM概述
    • 7.1YUM简介
    • 7.2软件仓库的提供方式
    • 7.3RPM软件包的来源
    • 7.4YUM的配置文件
    • 7.5YUM缓存目录
  • 八.配置本地YUM源
    • 8.1将yum 配置文件 /etc/yum.repos.d 备份一份至当面目录下的bak目录
    • 8.2编辑local.repo 文件
    • 8.3清除之前的源,重新建立源数据
    • 8.4查看是否为本地源
  • 九.配置ftp的YUM源
    • 9.1在ftp服务器上挂载光盘到 /mnt 目录下
    • 9.2将光盘中的数据拷贝到 /var/ftp/ 目录下,并把ftp/的所有文件除pub/外移动到centos7/下
    • 9.3将客户端的网络源打包备份,在yum源配置目录/etc/yum.repos.d/下床架修改 ftp.repo
    • 9.4验证客户端是否能访问
    • 9.5重新确定服务器与客户端的yum索引
    • 十.软件包查询
      • 查询软件包组

部署YUM仓库及NFS共享服务

一.FTP服务器

1.1概述

FTP(File Transfer Protocol,文件传输协议)是典型的C/S架构的应用层协议,需要由服务端软件、客户端软件两个部分共同实现文件传输功能,客户端和服务器之间的连接是可靠的,面向连接的,为数据的传输提供了可靠的保证。基于tcp的20,和21端口, 20端口数据传输用,21建立连接端口
FTP是一种文件传输协议,它支持两种模式,一种方式叫做Standard (也就是Active,主动方式)一种是Passive (也就是PASV;FTP的客户端发送PORT命令到FTP server。Passive模式FTP的客户端发送PASV命令到FTP Server

Standard模式

FTP客户端首先和FTP Server的TCP21端口建立连接,通过这个通道发送命令,客户端需要接收数据的时候在这个通道上发含了客户端用什么端口接收数据。在传送数据的时候,服务器端通过自己的TCP 20端口发送数据。FTP server必须和客户端数据。

Passive模式

在建立控制通道的时候和Standard模式类似,当客户端通过这个通道发送PASV命令的时候,FTP server打开一个位于1022通知客户端在这个端口上传送数据的请求,然后FTP server将通过这个端口进行数据的传送,这个时候FTP server不再需要连接。

二.搭建FTP服务器

2.1安装,开启服务

yum -y  install  vsftpd   安装vsftpd 
systemctl start  vsftpd   启动

2.2登陆

在这里插入图片描述

2.3ftp的配置文件/etc/vsftpd/vsftpd.conf

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

2.4FTP的下载和上传功能

2.4.1 FTP的下载功能

用户FTP登录时可在自己的家目录下使用get 命令下载家目录下的文件

2.4.2FTP的上传功能

用户FTP登录时可用put 指令上传文件,但由于权限的问题,所以要修改权限才能上传文件

1.改配置文件/etc/vsftpd/vsftpd.conf
anon_upload_enable=YES
anon_mkdir_write_enable=YES
在这里插入图片描述
2.修改用户家目录下目录的权限

在这里插入图片描述
3.匿名用户上传文件

在这里插入图片描述
也可以把家目录权限该成757,再put上传,但值得注意的是若家目录该成777会断开连接,应为vsftpd认为权限过大是很不安全,若是普通用户可在其家目录下可上传文件,这里是ftp登录的,是匿名用户

三.ftp限制普通用户权限

chroot_local_user=YES 绑定普通用户的家目录,只能在自己目录下活动

在这里插入图片描述
值得注意的是:从2.3.5之后,vsftpd增强了安全检查,如果用户被限定在了其主目录下,则该用户的主目录不能再具有写权限了!如果检查发现还有写权限,就会报该错误。
通常会出现如错误:
500 OOPS: vsftpd: refusing to run with writable root inside chroot() 远程主机关闭连接
要修复这个错误,可以用命令chmod a-w /home/user去除用户主目录的写权限,注意把目录替换成你自己的。或者你可以在vsftpd的配置文件中增加下列两项中的一项
allow_writeable_chroot=YES
在这里插入图片描述

四.ftp允许root登陆

因root具有最大权限,所以ftp是拒绝登陆的,若要root登陆可修改配置文件

修改配置文件/etc/vsftpd/ftpusers

在这里插入图片描述
修改配置文件 /etc/vsftpd/user_list
在这里插入图片描述
值得注意的是:etc/vsftpd/ftpusers的优先级高于/etc/vsftpd/user_list的优先级

五.ftp仅允许某些用户或某个用户登陆

例如只允许zhangsan登陆,不允许lisi登陆
修改配置文件/etc/vsftpd/user_list增加zhangsan

在这里插入图片描述

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

在这里插入图片描述
创建用户zhangsan和lisi,此时只有zhangsan可登陆
在这里插入图片描述

六.ftp安全性验证

通过对ftp登陆过程的抓包可以抓到登陆的用户和密码,说明ftp是不安全的

tcpdump -i ens33 -nnX port 21    // tcpdump 为抓包工具,默认安装

在这里插入图片描述

七.YUM概述

7.1YUM简介

YUM (Yellow dog Updater Modified)
●基于RPM包构建的软件更新机制
●可以自动解决依赖关系
●所有软件包由集中的YUM软件仓库提供

7.2软件仓库的提供方式

●FTP服务:ftp:/l…
●HTTP服务: http:/…
●本地目录:file:ll…

7.3RPM软件包的来源

●CentOS发布的RPM包集合
●第三方组织发布的RPM包集合
●用户自定义的RPM包集合

7.4YUM的配置文件

●基本设置:letc/yum.conf
●仓库设置:/etcl/yum.repos.d/*.repo
●日志文件:/yar/log/yum.log

7.5YUM缓存目录

●存放下载的软件包、仓库信息等数据
●位于/varlcache/yum/ b a s e a r c h / basearch/ basearch/releasever

八.配置本地YUM源

8.1将yum 配置文件 /etc/yum.repos.d 备份一份至当面目录下的bak目录

在这里插入图片描述

8.2编辑local.repo 文件

vim local.repo  编辑local.repo 文件

在这里插入图片描述
file表示本地的yum类型,/munt为挂载路径,gpgcheck为是否要进行校验

8.3清除之前的源,重新建立源数据

yum clean all

yum clean all  清楚之前的源
yum  makecache 重新建立源数据

8.4查看是否为本地源

yum repolist 查看当前使用的yum源

在这里插入图片描述

九.配置ftp的YUM源

9.1在ftp服务器上挂载光盘到 /mnt 目录下

挂载目的:让ftp服务器具有软件包,有条件的情况下也可网络下载

mount /dev/sr0  /mnt

9.2将光盘中的数据拷贝到 /var/ftp/ 目录下,并把ftp/的所有文件除pub/外移动到centos7/下

cp -pr /mnt/*   /var/ftp/   把/mnt/下的所有文件和目录拷贝

在这里插入图片描述

9.3将客户端的网络源打包备份,在yum源配置目录/etc/yum.repos.d/下床架修改 ftp.repo

文件

在这里插入图片描述
在这里插入图片描述

9.4验证客户端是否能访问

ftp服务器开启vsftpd服务,配置好之后在客户端游览器上可验证是否能访问
在这里插入图片描述
也可在客户端查看源标识
在这里插入图片描述

9.5重新确定服务器与客户端的yum索引

目的;当服务端有软件包更新时,客户端可以及时更新到
yum源索引文件所在目录 /var/ftp/centos7/repodata/repomd.xml repomd.xml 为索引文件
所用指令如下

createrepo  --update /var/ftp/centos7/Packages/

执行完改命令后Packages 目录下会产生新的repodata
在这里插入图片描述
修改客户的yum源配置文件ftp.repo
在这里插入图片描述
yum clean all 清楚之前的源
yum makecache 重新建立源数据
值得注意的是,刚开始没有更新的的时候repomd.xml 在repodata下跟/Packages是同级别目录。更新之后repomd.xml 在Packages下所以要改变路径

十.软件包查询

查询软件包组

yum grouplist  包组名    查询软件包组
yum groupinfo 包组名    查询软件包组信息
[root@localhost -]# yum grouplist
[root@localhost-]# yum grouplist gnome-desktop
[root@localhost ~]# yum groupinfo gnome-desktop

相关文章