在Linux系统中,关闭FTP服务是保障服务器安全的重要步骤,因为FTP协议本身存在明文传输、易受攻击等安全隐患,本文将详细介绍在Linux系统中关闭FTP服务的多种方法,包括通过服务管理、配置文件修改以及彻底卸载FTP软件包等操作,并针对不同发行版(如Ubuntu/Debian、CentOS/RHEL)提供具体操作步骤,同时补充安全替代方案的建议。

确认当前FTP服务状态
在关闭FTP服务前,需先确认系统中是否已安装并运行FTP服务,常见的FTP服务软件有vsftpd、proftpd、pure-ftpd等,可通过以下命令检查:
-
查看活跃的FTP服务进程
使用ps命令筛选与FTP相关的进程:ps aux | grep -i ftp
若输出中包含
vsftpd、proftpd等进程,说明FTP服务正在运行。 -
检查系统是否监听FTP端口
FTP默认使用21端口,可通过netstat或ss命令查看:netstat -tuln | grep :21 # 或 ss -tuln | grep :21
若显示监听状态,则表明FTP服务已启动。
-
通过服务管理工具查询
- Systemd系统(CentOS 7+/Ubuntu 16.04+):
systemctl status vsftpd # 替换为实际的服务名,如proftpd
- SysVinit系统(旧版Linux):
service vsftpd status
- Systemd系统(CentOS 7+/Ubuntu 16.04+):
临时关闭FTP服务
若仅需临时停止FTP服务(如重启后自动恢复),可通过服务管理工具操作:
-
Systemd系统
sudo systemctl stop vsftpd # 停止服务 sudo systemctl disable vsftpd # 禁止开机自启
stop命令仅停止当前运行的服务,disable命令可确保系统重启后不再自动启动。 -
SysVinit系统
sudo service vsftpd stop # 停止服务 sudo update-rc.d -f vsftpd remove # 移除开机自启(Ubuntu/Debian) # 或 sudo chkconfig vsftpd off # 禁用开机自启(CentOS/RHEL)
永久关闭FTP服务
(一)卸载FTP软件包(彻底关闭)
若不再需要FTP服务,建议彻底卸载相关软件包,避免安全风险,以下为不同发行版的操作步骤:

-
Ubuntu/Debian系统
以卸载vsftpd为例:sudo apt-get purge vsftpd # 卸载软件包并删除配置文件 sudo apt-get autoremove # 自动清理依赖的无关包
-
CentOS/RHEL系统
以卸载vsftpd为例:sudo yum remove vsftpd # 卸载软件包 sudo yum autoremove # 自动清理依赖(需EPEL源支持)
(二)仅禁用服务(保留软件包)
若未来可能需要重新启用FTP服务,可选择仅禁用服务而不卸载软件包,操作参考“临时关闭FTP服务”中的disable或chkconfig off命令。
验证FTP服务是否已关闭
执行关闭操作后,需通过以下步骤确认服务状态:
-
检查服务进程
ps aux | grep -i ftp
若无相关进程输出,则服务已停止。
-
检查端口监听状态
netstat -tuln | grep :21
若无21端口监听,说明服务已关闭。
-
尝试连接测试
在本地或另一台机器上使用FTP客户端(如lftp、FileZilla)连接服务器FTP服务,若连接失败则关闭成功。
安全替代方案:关闭FTP后的文件传输建议
由于FTP协议存在明文传输、密码易泄露等问题,关闭FTP后建议使用更安全的替代方案:
-
SFTP(基于SSH的文件传输)

- 特点:通过SSH协议加密传输,默认端口22,安全性高。
- 启用方法:
Linux系统默认已安装SSH服务,只需确保sshd服务运行:sudo systemctl start sshd sudo systemctl enable sshd
客户端可使用
scp、sftp命令或图形化工具(如FileZilla的SFTP协议)连接。
-
SCP(安全复制)
- 命令示例:
scp /local/path username@server:/remote/path # 上传文件 scp username@server:/remote/path /local/path # 下载文件
- 命令示例:
-
RSync(远程同步工具)
- 特点:支持增量同步、压缩传输,适合大文件或目录同步。
- 命令示例:
rsync -avz /local/path username@server:/remote/path
-
WebDAV(基于HTTP的文件共享)
- 适用场景:需通过浏览器或WebDAV客户端访问文件。
- 部署工具:如
nginx、Apache配合dav2fs等模块。
常见问题与注意事项
-
服务名差异:不同Linux发行版可能使用不同的FTP服务名称(如
vsftpd、proftpd),操作前需通过rpm -qa | grep ftp(CentOS)或dpkg -l | grep ftp(Ubuntu)确认实际服务名。 -
防火墙配置:关闭FTP服务后,若防火墙(如
iptables、firewalld)仍有相关规则(如开放21端口),建议及时清理:# CentOS/RHEL (firewalld) sudo firewall-cmd --permanent --remove-service=ftp sudo firewall-cmd --reload # Ubuntu (iptables) sudo iptables -D INPUT -p tcp --dport 21 -j ACCEPT sudo iptables-save > /etc/iptables/rules.v4
-
依赖服务影响:若其他服务依赖FTP(如旧版网站程序),需先调整依赖关系再关闭FTP,避免业务中断。
-
日志检查:关闭服务前,建议查看FTP访问日志(通常位于
/var/log/vsftpd.log或/var/log/xferlog),确认是否有异常登录行为,便于后续安全加固。
在Linux系统中关闭FTP服务是提升服务器安全性的必要措施,可通过停止服务、禁用开机自启或卸载软件包等多种方式实现,操作前需确认服务状态,关闭后通过进程、端口和连接测试验证效果,建议替换为SFTP、SCP等更安全的文件传输协议,并在防火墙中清理相关规则,全面保障服务器数据传输安全,对于生产环境,操作前建议备份配置文件,并制定回滚方案,以应对突发情况。

















