更新升级 专属应用 系统故障 硬件故障 电脑汽车 鸿蒙刷机 鸿蒙开发Linux教程 鸿蒙开发Linux命令
当前位置:HMXT之家 > 鸿蒙开发Linux教程 > 在Rocky Linux 8/AlmaLinux 8上配置Vsftpd FTP服务器

在Rocky Linux 8/AlmaLinux 8上配置Vsftpd FTP服务器

更新时间:2023-02-13 16:05:22浏览次数:796+次

本文介绍如何在Rocky Linux 8/AlmaLinux 8系统上安装和配置Vsftpd FTP服务器的方法。FTP是文件传输协议的缩写,当需要通过互联网在设备之间进行无缝传输或数据交换时,该应用层协议至关重要,使用TCP(传输控制协议)可以轻松地在FTP应用程序中上传和下载文件。Vsftpd是非常安全的FTP守护程序的首字母缩写,通过创建加密数据流的安全隧道来保护FTP上的数据传输。有了Vsftpd,数据传输安全性得到了保证,因为端到端加密得到了实施。

在Rocky Linux 8/AlmaLinux 8上安装Vsftpd

我们需要做的第一件事是安装非常安全的FTP守护程序,它在默认的Rocky Linux 8/AlmaLinux 8存储库中可用:

sudo yum update

sudo yum install vsftpd

会安装vsftpd x86_64 3.0.3-34.el8等软件包:

Install  1 Package

Total download size: 180 k

Installed size: 347 k

Is this ok [y/N]: y

安装成功后,按如下所示验证已安装的Vsftpd版本:

$ sudo rpm -qi vsftpd

Name: vsftpd

Version: 3.0.3

Release: 34.el8

Architecture: x86_64

Group: System Environment/Daemons

启动并启用非常安全的FTP守护程序,以便在系统启动时自动运行:

sudo systemctl enable vsftpd --now

检查服务状态:

$ systemctl status vsftpd

vsftpd.service - Vsftpd ftp daemon

Loaded: loaded (/usr/lib/systemd/system/vsftpd.service; enabled; vendor preset: disabled)

创建FTP用户和用户目录及在Rocky Linux 8/AlmaLinux 8上配置vsftpd

我们需要创建并授予FTP服务器的专用用户访问权限。我们将创建如下用户:

sudo adduser vsftpduser

sudo passwd vsftpduser

使用如上所述创建的用户和密码,继续并创建具有必要权限的FTP目录:

sudo mkdir -p /home/vsftpduser/ftp_folder

sudo chmod -R 750 /home/vsftpduser/ftp_folder

sudo chown vsftpduser: /home/vsftpduser/ftp_folder

要授予用户对Vsftpd服务器的访问权,请将它们添加到/etc/vsftpd/user_list文件中:

sudo bash -c 'echo vsftpduser >> /etc/vsftpd/user_list'

下面,我们将在Rocky Linux 8/AlmaLinux 8上配置vsftpd。

我们需要对如下访问的Vsftpd配置文件进行一些调整:

sudo vi /etc/vsftpd/vsftpd.conf

打开文件后,进行以下调整。

允许本地用户远程访问,然后阻止匿名用户:

anonymous_enable = NO

local_enable = YES

授予用户运行FTP命令的权限:

write_enable = YES

限制用户只能访问其主目录,并授予写入权限:

chroot_local_user=YES

allow_writeable_chroot=YES

设置自定义端口以启用被动FTP连接:

pasv_min_port=30000

pasv_max_port=31000

允许user_list文件中的专用Vsftpd用户访问FTP服务器:

userlist_file=/etc/vsftpd/user_list

userlist_enable=YES

userlist_deny=NO

完成上述更改后,重新启动服务器:

sudo systemctl restart vsftpd

在防火墙上打开FTP端口

基于上述配置,我们将无源通信端口范围设置在30000-31000之间。我们现在需要允许这些端口通过防火墙。此外,我们需要允许FTP数据和流量的端口范围为20-21:

sudo firewall-cmd --permanent --add-port=20-21/tcp

sudo firewall-cmd --permanent --add-port=30000-31000/tcp

将更改应用于防火墙守护程序:

sudo firewall-cmd --reload

现在使用以下命令测试FTP连接:

ftp serverIP

样本输出:

\

Rocky Linux 8/AlmaLinux 8上的Vsftpd SSL/TLS配置

出于FTP服务器上的安全和加密原因,我们将在此系统上生成SSL证书。

在本指南中,我们使用使用OpenSSL生成的自签名证书,如下所示。

首先,确保安装了OpenSSL:

sudo yum install openssl

然后生成自签名证书:

sudo openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout /etc/vsftpd.pem -out /etc/vsftpd/vsftpd.pem

在输出中,提供所需的国家名称、州/省详细信息,比如以下示例截图:

\

填写后,请返回Vsftpd配置文件并添加生成的证书路径:

$ sudo vi /etc/vsftpd/vsftpd.conf

#添加这些行###

rsa_cert_file=/etc/vsftpd/vsftpd.pem

rsa_private_key_file=/etc/vsftpd.pem

#启用SSL##

ssl_enable=YES

allow_anon_ssl=NO

force_local_data_ssl=YES

force_local_logins_ssl=YES

ssl_tlsv1=YES

ssl_sslv2=NO

保存更改并重新启动Vsftpd:

sudo systemctl restart vsftpd

接下来,就可以使用FTP客户端Filezilla测试FTP服务器了,当前该客户端可以安装在Windows和Linux系统上,可以参考https://www.hmxthome.com/linux/5060.html里面的内容,里面有安装及使用SFTP客户端包FileZilla的方法。

至此,我们已经成功地在Rocky Linux 8/AlmaLinux 8上配置了Vsftpd FTP服务器。现在,您可以通过专用隧道安全地共享文件。