搭建并使用VSFTP服务传输文件

文章目录

    • 一、vsftp服务简介
    • 二、搭建vsftp服务

一、vsftp服务简介

VSFTP是一个基于GPL发布的类Unix系统上使用的FTP服务器软件,它的全称是Very Secure FTP 从此名称可以看出来,编制者的初衷是代码的安全。

二、搭建vsftp服务

实验环境:VMware Workstation 15.5 、X Shell 6、Centos 7.6

1、为了方便两台虚拟机的识别,我们将主机名分别设置为service和client【改操作不是必须,可以不修改】

[root@localhost ~]# hostname server
[root@localhost ~]# su
[root@server ~]#
[root@localhost ~]# hostname client
[root@localhost ~]# su
[root@client ~]# 

2、安装搭建所必须的软件服务环境

[root@server ~]# yum -y install ftp vsftp* createrepo

PS:ftp:安装FTP服务
    vsftp*:安装vsftp软件
    createrepo:是Linux中的一个软件包,用来搭建yum仓库,这里我们用它来创建yum源索引

3、启用本地镜像光盘,并进行挂载

[root@server ~]# mount /dev/cdrom /mnt    ## 将光盘挂载到/mnt目录下
mount: /dev/sr0 写保护,将以只读方式挂载

[root@server ~]# df -Th     ## 查看一下挂载情况
文件系统       类型      容量  已用  可用 已用% 挂载点
/dev/sda3      xfs       295G  1.1G  294G    1% /
devtmpfs       devtmpfs  1.9G     0  1.9G    0% /dev
tmpfs          tmpfs     1.9G     0  1.9G    0% /dev/shm
tmpfs          tmpfs     1.9G   12M  1.9G    1% /run
tmpfs          tmpfs     1.9G     0  1.9G    0% /sys/fs/cgroup
/dev/sda1      xfs      1014M  138M  877M   14% /boot
tmpfs          tmpfs     378M     0  378M    0% /run/user/0
/dev/sr0       iso9660   4.3G  4.3G     0  100% /mnt   ## 看到这一项说明挂载成功!

注意,如果挂载不成功有可能是因为虚拟机中未连接光盘,在设置中开启即可
搭建并使用VSFTP服务传输文件_第1张图片

4、进入yum源目录,并查看目录下所有文件

[root@server ~]# cd /etc/yum.repos.d/

[root@server yum.repos.d]# ll
总用量 32
-rw-r--r--. 1 root root 1664 11月 23 2018 CentOS-Base.repo
-rw-r--r--. 1 root root 1309 11月 23 2018 CentOS-CR.repo
-rw-r--r--. 1 root root  649 11月 23 2018 CentOS-Debuginfo.repo
-rw-r--r--. 1 root root  314 11月 23 2018 CentOS-fasttrack.repo
-rw-r--r--. 1 root root  630 11月 23 2018 CentOS-Media.repo
-rw-r--r--. 1 root root 1331 11月 23 2018 CentOS-Sources.repo
-rw-r--r--. 1 root root 5701 11月 23 2018 CentOS-Vault.repo

5、这些都是安装yum过程需要调用的必须文件,因为我们本次实验需要调用的光盘中的本地源,所以这些文件暂时用不到,我们就建一个目录把这些文件放进去即可

[root@server yum.repos.d]# mkdir bak    ## 建立一个名为bak的子目录
[root@server yum.repos.d]# mv *.repo bak/   ## 将当前目录下所有扩展名为.repo的文件全部移入bak目录

6、这样服务端上就没有yum源了,因为我们要使远程的客户端来使用服务端的yum源,所以这时候我们将挂载的光盘中的本地yum源全都拷贝到本地的ftp目录中

[root@server ftp]# cp -rf /mnt/* /var/ftp/centos7/ &  ## 递归将光盘中mnt目录下的全部文件复制到ftp目录中(因为复制过程时间较长,所以使用&符号让其在后台运行)
[1] 26669

## 使用jobs命令查看一下后台复制命令的执行情况

[root@server ftp]# jobs
[1]+  运行中               cp -i -rf /mnt/* /var/ftp/centos7/ &

## 稍等片刻就会提示复制完成
[root@server ftp]# 
[1]+  完成                  cp -i -rf /mnt/* /var/ftp/centos7/

7、我们已经将yum源复制过来了,但是没有索引文件就跟一本书没有目录一样肯定是不行的,所以现在我们再建立yum源索引

[root@server ftp]# mkdir other  ## 建立一个other目录
[root@server ftp]# createrepo -g /mnt/repodata/repomd.xml other/  ##  将光盘中的索引文件复制到other目录中
Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete

8、现在可以启动服务端了,但在启动之前一定要清空防火墙规则和关闭系统核心防护功能

[root@server ftp]# setenforce 0
[root@server ftp]# iptables -F

9、开启vsftp服务端

[root@server ftp]# systemctl start vsftpd

以上就是服务端的配置,现在我们来配置客户端

10、在客户端上安装ftp服务

[root@client ~]# yum -y install ftp

11、测试ftp服务是否正常

[root@client ~]# ftp 192.168.50.131    ## 连接服务端
Connected to 192.168.50.131 (192.168.50.131).
220 (vsFTPd 3.0.2)
Name (192.168.50.131:root): ftp    ## 用户名输入ftp,以匿名方式登录
331 Please specify the password.
Password:                        ## 密码默认为空
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls      ## 查看一下ftp目录下由哪些文件
227 Entering Passive Mode (192,168,50,131,124,15).
150 Here comes the directory listing.
drwxr-xr-x    8 0        0             220 Jul 11 03:29 centos7
drwxr-xr-x    3 0        0              22 Jul 11 03:33 other
drwxr-xr-x    2 0        0               6 Apr 01 04:55 pub
226 Directory send OK.
ftp> bye        ## 测试没有发现异常,断开与服务端连接
221 Goodbye.

12、服务端的yum源默认是配置好的,因为我们要使用的是远程服务端的yum源,我们现在也将要将本地yum源清除

[root@client ~]# cd /etc/yum.repos.d/    ## 进入yum源配置目录
[root@client yum.repos.d]# mkdir bak     ## 新建子目录bak
[root@client yum.repos.d]# mv *.repo bak/   ##将所有后缀名repo文件全部移入bak目录

13、清除一下本地yum缓存在查看一下yum源列表

[root@client yum.repos.d]# yum clean all
[root@client yum.repos.d]# yum list  

现在发现列表所示的yum源都已经没有了,所以显示红色
搭建并使用VSFTP服务传输文件_第2张图片
14、现在来配置yum源仓库文件

[root@client yum.repos.d]# vi abc.repo   ## 新建一个仓库文件,名称随意

15、配置yum源仓库

[base]
name=centos7    ## 仓库名称
baseurl=ftp://192.168.50.131/centos7    ##调用的仓库源位置,因为使用的是远程源,所以为ftp
enabled=1     ## 是否启用该仓库(1:是,0:否)
gpgcheck=1    ## 开启密钥检查(1:是,0:否)
gpgkey=ftp://192.168.50.131/centos7/RPM-GPG-KEY-CentOS-7     ## 添加密匙

[other]    ## 这里配置other是因为我们之前不仅建立了yum源还生成了索引
name=other
baseurl=ftp://192.168.50.131/other
enabled=1
gpgcheck=0

## PS:因为是远程yum源,为了防止数据在中间过程被篡改,所以在配置[base]时建议开启验证

因为之前将光盘中的内容都复制到服务端的centos7目录下了,所以我们进入目录查看一下,用红框标出的就是密匙,将其复制粘贴到gpgkey字段中即可
搭建并使用VSFTP服务传输文件_第3张图片

16、清除本地yum源缓存并重新获取yum源列表

[root@client yum.repos.d]# yum clean all
[root@client yum.repos.d]# yum list

搭建并使用VSFTP服务传输文件_第4张图片
看到yum源列表中均显示白色说明调用远程yum源已经成功了,现在我们随机安装一个httpd服务验证一下
搭建并使用VSFTP服务传输文件_第5张图片

你可能感兴趣的:(Linux,linux)