配置 Linux 下的 FTP 服务

警告
本文最后更新于 2024-02-10,文中内容可能已过时。

这篇文章记录了我在 Linux 下使用 vsftpd 配置 FTP 服务的过程。

安装

1
pacman -S vsftpd

配置

vsftpd 的配置文件位于 /etc/vsftpd.conf,默认自带大量注释说明。下面挑一些需要修改的部分说明,更详细的说明参阅 vsftpd.conf(5)

1
2
3
4
# 开启本地用户登录
local_enable=YES
# 允许上传
write_enable=YES

启动(并设置开机自启动)

1
sudo systemctl enable --now vsftpd
注意
每次修改配置文件后都需要重启服务。

测试

安装 inetutils 包

1
pacman -S inetutils

使用 ftp 命令测试

1
ftp localhost

根据提示输入正确的用户名和密码后即可登录

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
~ > ftp localhost  
Connected to localhost.
220 (vsFTPd 3.0.5)
Name (localhost:bingo): 
331 Please specify the password.
Password: 
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
drwxr-xr-x    2 1000     1000         4096 Jan 24 15:38 Desktop
drwxr-xr-x    5 1000     1000         4096 Feb 10 06:37 Documents
drwxr-xr-x    8 1000     1000         4096 Feb 10 13:52 Downloads
drwxr-xr-x    2 1000     1000         4096 Jan 24 15:38 Music
drwxr-xr-x    4 1000     1000         4096 Sep 27 13:40 Pictures
drwxr-xr-x    2 1000     1000         4096 Jan 24 15:38 Public
drwxr-xr-x    2 1000     1000         4096 Jan 24 15:38 Videos
226 Directory send OK.
ftp>

查看本机 ip,在局域网内的其他设备使用该 ip 即可访问。

参考

ArchWikivsftpd 配置文件

0%