在CentOS-7.9配置vsftpd服务

一 vsftpd简介

FTP是 File Transfer Protocol 文件传输协议的简称。
VSFTP是 Very Security FTP 的缩写,即非常安全的文件传输协议。

VSFTP服务器用户的实现有以下三种形式:

匿名用户模式:默认安装时,系统支持允许匿名用户访问,默认为FTP用户,客户端登陆时输入的用户是anonymous,对应的服务器工作目录是 /var/ftp 。
本地用户模式:在文件 /etc/passwd 中的用户登录。
虚拟用户模式:用户名和口令保存在数据库文件中,只能访问FTP服务器提供的资源。

FTP的文件传输模式:

ASCII模式:适合文本传输。如果文件包含简单的ASCII码文本,在跨操作系统传输时,会将文件解析成客户端可以存储的文本文件格式;如果是非文本文件,解析很可能出错。要切换该模式,在客户端命令行输入 ascii 即可。
二进制模式:适合程序、数据库、字处理文件和压缩文件的传输。要切换该模式,在客户端命令行输入 bin 即可。

FTP的两种工作模式:

主动模式:客户端通过命令端口M发送请求,与服务端的21端口建立连接;当客户端需要传输数据时,便在通道M发送PORT命令给服务端,PORT包括了客户端接收数据的数据端口N;服务端通过数据端口20连接到客户端指定的数据端口N发送数据。
被动模式:客户端通过命令端口M发送请求,与服务端的21端口建立连接;当客户端需要传输数据时,便在该通道M发送PASV命令给服务端;服务端随机打开一个数据端口X,并通过PORT命令告诉客户端让其连接X端口;客户端打开数据端口N连接服务端的数据端口X,然后进行数据传输。

由此可见,主动模式和被动模式是对于服务端来说的。前者是服务端主动开放20端口,进行数据传输;后者是服务端随机开放端口,等待客户端的主动连接,被动接受数据传输的工作。

二 环境准备

参数第一个主机第二个主机
IP10.0.0.10010.0.0.101
主机名canwaycanway02
操作系统版本CentOS Linux release 7.9.2009 (Core)CentOS Linux release 7.9.2009 (Core)
内核3.10.0-1160.el7.x86_643.10.0-1160.el7.x86_64
作用VSFTP服务端VSFTP客户端
selinux关闭关闭
防火墙firewalld关闭关闭

三 服务部署

3.1 安装软件

此处选择最简单的yum安装方式,前提是检查yum源配置是否无误。

yum install -y vsftpd

3.2 编写配置文件

首先对原配置文件进行备份,防止误操作后无法还原。

[root@canway ~]# cd /etc/vsftpd/
[root@canway vsftpd]# cp vsftpd.conf vsftpd.conf.bak

然后开启FTP上传下载的记录日志。
删掉下面两个参数的前面的#号,去掉注释,使其生效。

xferlog_enable=YES
xferlog_file=/var/log/xferlog

接着允许匿名用户对服务端进行上传文件,创建目录和写入文件。

anon_upload_enable=YES
anon_mkdir_write_enable=YES

3.3 用户授权

匿名用户登录模式下,在客户端登录到服务端后,服务端访问的用户是ftp用户,而ftp用户的默认主目录是 /var/ftp/pub ,该目录的属主用户是 root ,因此ftp用户没有权限在该目录下进行访问与文件的创建(传输),所以需要授权。

chown -R ftp /var/ftp/pub

3.4 启动服务

接着启动vsftpd服务,使其开机自动启动,并检查服务状态。

[root@canway vsftpd]# systemctl start vsftpd
[root@canway vsftpd]# systemctl enable vsftpd
[root@canway vsftpd]# systemctl status vsftpd

经过检查,服务启动成功。
在这里插入图片描述

3.5 文件传输测试

接着尝试通过匿名用户的模式进行文件传输。

3.5.1 Windows到Linux

在本地Windows主机,使用 Windows+R 键,打开cmd命令

在这里插入图片描述

然后将需要上传到 10.0.0.100 服务端的文件放在当前目录下,我要传输的文件名是 test.txt

在这里插入图片描述

接着输入用户名anonymous和空密码,即可登录到服务端。

在这里插入图片描述

匿名用户登陆系统后,默认的初始位置在 /var/ftp 目录下。

在这里插入图片描述

接着进入 /var/ftp/pub 目录下,将Windows的test.txt文件传输到该目录下。

在这里插入图片描述
检查文件是否传输成功。

在这里插入图片描述

3.5.2 filezilla

在Windows中,除了cmd命令,也可以通过filezilla这个第三方软件进行传输。
此处使用普通用户连接到服务端进行文件传输。

首先创建用户user01,并设置密码123456.

[root@canway pub]# useradd user01
[root@canway pub]# echo 123456|passwd user01 --stdin
Changing password for user user01.
passwd: all authentication tokens updated successfully.

接着给用户授权,让其可以在 /var/ftp/pub 目录下创建文件。

[root@canway pub]# chown -R user01 /var/ftp/pub/

然后打开 filezilla 软件,输入主机IP,用户名,密码,即可连接。

在这里插入图片描述

然后用鼠标,将文件拖拽至相应的目录,即可进行文件传输。

3.5.3 从Linux到Linux

与Windows到Linux的命令基本一致,不过要首先检查一下客户端是否有ftp命令。

在这里插入图片描述

如果没有该命令,只需要yum安装即可。

yum install -y ftp

接着使用ftp命令与服务端建立连接,进行文件传输即可。

在这里插入图片描述

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值