Linux服务器配置FTP,有哪些关键步骤和注意事项?
- 虚拟主机
- 2026-01-21
- 7
在Linux服务器上配置FTP(文件传输协议)是一个常见的需求,用于方便地在服务器和本地计算机之间传输文件,以下是一个详细的配置步骤,遵循专业、权威、可信和体验的原则。
配置FTP服务
安装FTP服务软件
需要安装FTP服务软件,在大多数Linux发行版中,可以使用以下命令安装vsftpd(非常安全的FTP服务器):
sudo aptget update sudo aptget install vsftpd
对于其他发行版,如CentOS,可以使用:
sudo yum install vsftpd
配置FTP服务
安装完成后,需要配置FTP服务,以下是vsftpd的一些基本配置步骤:

- 编辑主配置文件:
sudo nano /etc/vsftpd/vsftpd.conf
- 修改配置选项:
以下是一些重要的配置选项:
| 配置选项 | 说明 |
|---|---|
| anonymous_enable=NO | 禁用匿名用户登录 |
| local_enable=YES | 允许本地用户登录 |
| write_enable=YES | 允许用户上传文件 |
| chroot_local_user=YES | 将用户限制在主目录下,提高安全性 |
| allow_writeable_chroot=YES | 允许用户在主目录下上传文件 |
| pasv_enable=YES | 启用被动模式FTP |
| pasv_min_port=10000 | 设置被动模式FTP的最小端口号 |
| pasv_max_port=20000 | 设置被动模式FTP的最大端口号 |
- 保存并退出配置文件。
修改用户权限
为了允许用户通过FTP上传和下载文件,需要确保用户的主目录可写,并且FTP服务用户(通常是vsftpd)有权限访问该目录。
sudo chown R user:user /home/user sudo chmod R 755 /home/user
替换user为你的用户名。

重启FTP服务
配置完成后,重启FTP服务以应用更改:
sudo systemctl restart vsftpd
设置防火墙
确保防火墙允许FTP流量,对于iptables,可以使用以下命令:
sudo iptables A INPUT p tcp dport 20:21 j ACCEPT
对于firewalld,可以使用:
sudo firewallcmd permanent addport=2021/tcp sudo firewallcmd reload
经验案例:西西云WAF结合FTP服务
在我们的经验案例中,我们使用西西云WAF保护了我们的FTP服务器,通过结合西西云WAF,我们能够有效防御针对FTP服务的常见攻破,如暴力免费、SQL载入等。

- 配置西西云WAF:
- 登录西西云WAF控制台。
- 创建新的站点,选择FTP服务。
- 配置WAF规则,如限制登录尝试次数、检测SQL载入等。
- 保存配置并应用。
FAQs
Q1:如何查看FTP服务器的连接状态?
A1: 可以使用vsftpd提供的ftpd命令查看连接状态:
sudo ftptpd l
Q2:如何限制FTP服务器的带宽使用?
A2: 可以使用tc(Traffic Control)命令来限制FTP服务器的带宽,以下是一个基本的示例:
sudo tc class add dev eth0 parent 1: classid 1:1 htb rate 1mbps sudo tc filter add dev eth0 parent 1:0 protocol ip prio 1 u32 match ip dport 20 21 flowid 1:1
文献权威来源
《Linux系统管理与维护》
《网络安全与防护》
《文件传输协议(FTP)配置与安全》