前言

ftp(File Transfer Protocol文件传输协议)是基于TCP/IP 协议的应用层协议,用于文件的传输,包括ftp服务端和ftp客户端。ftp客户端与服务器创建网络连接,请求登录服务器,登录成功后,就可以进行文件传输,主要包括下载文件和上传文件两种操作。

而 vsftpd 是一款在Linux发行版中最受推崇的FTP服务器程序。特点是小巧轻快,安全易用。

vsftpd 是“very secure FTP daemon”的缩写,安全性是它的一个最大的特点。

查看并安装vsftpd

关闭防火墙

为了避免不必要的麻烦,我们先关闭防火墙和selinux,等搭建成功之后再开启防火墙和相应的端口。

systemctl status firewalld.service  #查看防火墙状态
systemctl stop firewalld.service    #停止防火墙服务
systemctl disable firewalld.service #关闭防火墙开启自启动

nano /etc/selinux/config   #把文件中的SELINUX=enforcing 改为SELINUX=disabled
setenforce 0                        # 使修改马上生效

查看并安装vsftpd

🎀我的云服务器环境:CentOS-7.6.1810-x64,在CentOS中,采用 yum 来安装 vsftpd 服务端软件包,首先确保你的系统已更新到最新版本。使用以下命令来更新:

sudo yum update

执行以下命令进行查看 vsftpd 的版本;

vsftpd -version                     # 查看 vsftpd 的版本

如果没有安装的话就执行以下命令进行安装;

sudo yum -y install vsftpd          # 如果已经安装,再次执行yum就会把软件包升级到最新版本

image-20240410171603162

安装完成后,启动vsftpd服务并设置其开机自启动。执行以下命令:

sudo systemctl start vsftpd       # 启动服务
sudo systemctl enable vsftpd      # 设置开机启动

验证FTP服务器是否已成功安装并正在运行。你可以使用以下命令来检查服务状态:

sudo systemctl status vsftpd

如果服务正在运行,你应该会看到类似以下的输出:

vsftpd.service - Vsftpd ftp daemon
   Loaded: loaded (/usr/lib/systemd/system/vsftpd.service; enabled; vendor preset: disabled)
   Active: active (running) since Wed 2024-04-10 09:24:55 

这表示vsftpd服务已经成功启动并正在运行。

详细配置过程

取消匿名登陆

修改vsftpd.conf文件

nano /etc/vsftpd/vsftpd.conf

把anonymous_enable=YES ,改为NO

然后重新启动vsftpd服务:

sudo systemctl vsftpd restart      # 重启     
systemctl status vsftpd.service    # 查看vsftpd服务的状态

image-20240410182038487

新建用户并设立密码

创建一个新用户ahui并设置密码:

sudo adduser ahui
sudo passwd ahui     修改密码(输入两次)

image-20240410193326230

这样新建完用户,以后就可以用这个账号密码进行登录。

登录后默认的路径为 /home/ahui,下面即表示成功。

image-20240410193946912

开启防火墙

systemctl start firewalld.service      # 开启防火墙服务
systemctl enable firewalld.servic      # 防火墙开机启动

相关命令补充

vsftpd 命令

vsftpd: version 3.0.2]# rpm -qa|grep vsftpd
vsftpd-3.0.2-29.el7_9.x86_64                    # 代表已安装

[root@ser644606603939 ~]# vsftpd -version

vsftpd: version 3.0.2                           # 代表已安装
[root@ser644606603939 ~]# vsftpd -version

[root@ser644606603939 ~]# rpm -e vsftpd         # 卸载vsftpd
# 再次检查
[root@ser644606603939 ~]# rpm -qa|grep vsftpd
[root@ser644606603939 ~]# vsftpd -version

vsftpd 服务相关命令

ftp 服务器的服务名是 vsftpd,相关的操作如下:

systemctl start vsftpd.service       # 启动服务
systemctl stop vsftpd.service        # 停止服务
systemctl restart vsftpd.service     # 重启服务

systemctl status vsftpd.service       # 查看服务状态

systemctl enable vsftpd.service       # 设置开机自启动vsftpd服务
systemctl disable vsftpd.service      # 禁用开机自启动vsftpd服务

参考帖子

  1. CentOS7 安装配置FTP服务器详解
  2. Centos7开启FTP服务