Linux:FTP协议、搭建本体yum仓库、搭建FTP服务器

FTP协议

FTP概述

ftp (File Transfer Protocol,文件传输协议)是典型的C/S架构的应用层协议,需要由服务端软件、客户端软件两个部分共同实现文件传输功能。FTP客户端和服务器之间的连接是可靠的,面向连接的,为数据的传输提供了可靠的保证。
ftp使用tcp的20、21端口,20端口是连接端口,用于传输数据。21端口是控制端口,用于和客户端建立连接。
FTP是一种文件传输协议,它支持两种模式,一种方式叫做Standard (也就是Active,主动方式),一种是Passive (也就是PASV,被动方式)。
主动方式:
客户端首先和服务端的21端口建立连接,客户端在这个端口发送请求,服务端收到请求后,从自己的20端口建立一个新连接发送数据。
被动方式:
客户端和服务端的21端口建立连接,当客户端发送请求时,服务端打开一个1024-5000之间的端口并通知客户端在这个端口上传送数据,被动方式不需要和客户端新建立一个连接。

FTP服务

ftp服务的进程名和软件名都为vsftpd,vsftpd需要网上下载,系统不自带。ftp服务有一个ftp用户,ftp用户的家目录位于/var/ftp,登录ftp用户会切到这个目录,这个目录通常与ftp服务器有关。
客户机通过ftp命令可以登录服务端,客户机一般情况下无法登录root,可以通过对ftp的配置文件进行设置以登录root,也可以对登录的用户进行限制,让其只能在根目录和家目录活动

C:\Users\Ryougi Shiki uio>ftp 192.168.214.214
连接到 192.168.214.214220 (vsFTPd 3.0.2)
200 Always in UTF8 mode.
用户(192.168.214.214:(none)): shiki
331 Please specify the password.
密码:             		
230 Login successful.
ftp> pwd               
257 "/home/shiki"        登录后,会切到该用户的家目录
ftp> quit           	 ftp可以通过bye,quit等退出登录
221 Goodbye.

C:\Users\Ryougi Shiki uio>ftp 192.168.214.214
连接到 192.168.214.214220 (vsFTPd 3.0.2)
200 Always in UTF8 mode.
用户(192.168.214.214:(none)): root
530 Permission denied.
登录失败。
ftp>

允许登录root:
修改/etc/vsftpd/ftpusers,将root注释掉
修改/etc/vsftpd/vsftpd.conf,添加一行userlist_deny=NO
重启服务
锁定用户家目录不可随意切换(对用户的活动范围进行限制):
修改/etc/vsftpd/vsftpd.conf
chroot local _user=YES//取消注释,锁定家目录了但是如果家目录有写权限ftp会拒绝连接allow_writeable_chroot=YES//添加这一行
重启服务

搭建本地yum仓库

使用光盘搭建本地yum仓库

[root@localhost ~]# mount /dev/sr0 /mnt     首先对光盘进行挂载,这里不进行永久挂载了
mount: /dev/sr0 写保护,将以只读方式挂载
[root@localhost ~]# lsblk   				查看光盘是否挂载成功
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0   20G  0 disk 
├─sda1   8:1    0    1G  0 part /boot
├─sda2   8:2    0    2G  0 part [SWAP]
└─sda3   8:3    0   17G  0 part /
sr0     11:0    1  4.3G  0 rom  /mnt 		光盘确实成功挂载了
[root@localhost ~]# 
[root@localhost ~]# cd /etc/yum.repos.d/    进入这个目录,目录下存放了yum源的配置文件
[root@localhost yum.repos.d]# ls
CentOS-Base.repo  CentOS-Debuginfo.repo  CentOS-Media.repo    CentOS-Vault.repo
CentOS-CR.repo    CentOS-fasttrack.repo  CentOS-Sources.repo
[root@localhost yum.repos.d]# mkdir /yum.bak    创建一个目录
[root@localhost yum.repos.d]# mv /etc/yum.repos.d/* /yum.bak/   对yum配置文件进行备份 
[root@localhost yum.repos.d]# vim local.repo   创建并编辑该文件,这个文件是本地yum仓库的配置文件,下面是需要写入文件的内容
[local]
name=CentOS7   			name这里名字可以任意起
baseurl=file:///mnt  	这里的格式是baseurl=file://  file://从本地目录进行寻找,baseurl指定的是repodate中的repo.xml索引文件,通过寻找这个索引文件获取光盘中软件包的信息,这里索引文件位于/mnt目录下
enable=1
gpgcheck=0
:wq 				保存编辑并退出
[root@localhost yum.repos.d]# yum repolist      查看yum源的详细信息
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
local                                                    | 3.6 kB     00:00     
(1/2): local/group_gz                                      | 166 kB   00:00     
(2/2): local/primary_db                                    | 3.1 MB   00:00     
源标识                               源名称                                状态
local                                CentOS7                               4,021
repolist: 4,021

搭建FTP服务器

在服务器中挂载光盘后

[root@localhost mnt]# mkdir /var/ftp/1
[root@localhost mnt]# cp -pr /mnt/* /var/ftp/1/    将光盘的文件带属性复制到ftp用户的家目录下的1目录中
[root@localhost mnt]# systemctl start vsftpd  启动vsftpd服务

在客户端中创建ftp.repo文件

[root@localhost yum.repos.d]# vim /etc/yum.repos.d/ftp.repo  编辑该文件
[ftp] 			这里进编辑的内容
name=ftp
baseurl=ftp://192.168.214.214/1
enable=1
gpgcheck=0

[root@localhost yum.repos.d]# yum repolist     查看yum源信息,发现yum源是ftp,说明可以通过ftp服务器下载安装软件
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
源标识                                 源名称                              状态
ftp                                    ftp                                 4,021
repolist: 4,021

访问ftp服务器
在这里插入图片描述

在ftp服务器中添加软件包

在ftp服务器中

[root@localhost ftp]# yum -y install nginx --downloadonly --downloaddir=/var/ftp/1/packages    下载nginx的安装包,并存放至/var/ftp/1/packages目录下   
--downloadonly只下载安装包   --downloaddir= 后跟目录,将前面的安装包存放至后面的目录中
[root@localhost repodata]# createrepo --update /var/ftp/1/ 更新该目录下的软件包的索引文件中的索引信息

服务端做好后,在客户端中

[root@localhost yum.repos.d]# yum clean all   清理yum缓存
已加载插件:fastestmirror, langpacks
正在清理软件源: ftp
Cleaning up list of fastest mirrors
Other repos take up 89 M of disk space (use --verbose for details)
[root@localhost yum.repos.d]# yum makecache    重新建立yum的元数据
已加载插件:fastestmirror, langpacks
Determining fastest mirrors
ftp                                                      | 2.9 kB     00:00     
(1/3): ftp/primary_db                                      | 3.2 MB   00:00     
(2/3): ftp/filelists_db                                    | 3.2 MB   00:00     
(3/3): ftp/other_db                                        | 1.3 MB   00:00     
元数据缓存已建立
[root@localhost yum.repos.d]# yum repolist     查看yum源的信息,发现软件包数量从4021变成4030
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
源标识                                 源名称                              状态
ftp                                    ftp                                 4,030
repolist: 4,030

此时,ftp服务器软件包更新完成

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值