文件传输协议 (FTP) 是用于在服务器和客户端之间通信和传输文件的标准协议。 FTP 采用客户端-服务器架构。 我们将介绍在 Ubuntu 22.04 上配置 FTP 的步骤。

在 Ubuntu 22.04 上配置 FTP

FTP 在 Ubuntu 上可用,但您需要一个 FTP 守护程序来提供安全隧道来加密 FTP 服务器中的数据流。 VSFTPD(非常安全的FTP守护进程)是Linux系统上可靠的FTP服务器。 我们将使用它在 Ubuntu 22.04 上配置 FTP 服务器。

首先更新 Ubuntu 存储库。


$ sudo apt update

要安装 VSFTPD,请使用以下命令。 添加 -y 以跳过任何提示。


$ sudo apt install vsftpd -y

安装后 VSFTPD 自动启用。 验证其状态以检查其是否正在运行。


$ sudo systemctl status vsftpd

如果它不是激活状态,请使用启动选项将其状态更改为激活状态。


vxbus@bnnb:~$ systemctl status vsftpd
● vsftpd.service - vsftpd FTP server
     Loaded: loaded (/lib/systemd/system/vsftpd.service; enabled; vendor preset>
     Active: active (running) since Mon 2023-09-04 21:34:17 CST; 9min ago
    Process: 792 ExecStartPre=/bin/mkdir -p /var/run/vsftpd/empty (code=exited,>
   Main PID: 794 (vsftpd)
      Tasks: 1 (limit: 37972)
     Memory: 1.3M
        CPU: 3ms
     CGroup: /system.slice/vsftpd.service
             └─794 /usr/sbin/vsftpd /etc/vsftpd.conf

Sep 04 21:34:17 bnnb systemd[1]: Starting vsftpd FTP server...
Sep 04 21:34:17 bnnb systemd[1]: Started vsftpd FTP server.
lines 1-13/13 (END)

下一步是通过修改 VSFTPD 服务器的配置文件来配置它。 使用编辑器打开 /etc/vsftpd.conf 文件。


$ sudo nano /etc/vsftpd.conf

您应该编辑配置文件中的不同行。 首先,确保禁用匿名用户选项。 启用 local_enable 和 write_enable 选项以允许用户处理文件,例如上传、下载等。

编辑您的配置文件以匹配下图。

Linux vsftpd configuration

此外,通过取消注释 chroot_user=YES 选项来启用对用户主目录的访问。 您还必须指定 VSFTPD 被动模式的端口范围。 对于本例,我们将其设置为 10000 和 11000。

重新启动 VSFTPD 服务器以让我们所做的更改生效。


$ sudo systemctl restart vsftpd

要测试 FTP 服务器,请键入 ftp 命令,后跟 Ubuntu 22.04 的 IP 地址。

如果配置成功,请用系统上的用户的用户名和密码。 请注意,您必须在 VSFTPD 配置文件上取消注释allow_writeable_chroot=YES。 否则会出现登录失败的情况,如下图所示。


$ ftp 

Linux vsftpd login fail

通过添加allow_writeable_chroot=YES 并保存文件来快速修复此问题。

结论

使用 VSFTPD,您可以在 Ubuntu 22.04 上安全地配置 FTP 服务器。 我们已经完成了您应该遵循的详细步骤,从安装 VSFTPD、配置它到测试 FTP 服务器。 您可以轻松地配置您的 FTP 服务器。