温馨提示×

怎样开启Linux FTP服务

小樊
83
2026-08-27 22:08:25
栏目: 智能运维

在 Linux 上开启 FTP 服务,常见做法是安装并配置 vsftpd(最常用、稳定、安全)。下面按通用步骤说明,适用于大多数发行版(CentOS / Rocky / Alma / RHEL / Ubuntu / Debian)。


一、安装 FTP 服务(vsftpd)

✅ CentOS / Rocky / Alma / RHEL

yum install -y vsftpd
# 或
dnf install -y vsftpd

✅ Ubuntu / Debian

sudo apt update
sudo apt install -y vsftpd

二、启动并设置开机自启

systemctl start vsftpd
systemctl enable vsftpd

查看状态:

systemctl status vsftpd

三、配置 FTP(重要)

配置文件路径:

/etc/vsftpd/vsftpd.conf   # CentOS/RHEL
/etc/vsftpd.conf          # Ubuntu/Debian

常用基础配置(推荐)

# 允许本地用户登录
local_enable=YES

# 允许上传
write_enable=YES

# 禁止匿名登录(安全)
anonymous_enable=NO

# 限制用户只能访问自己的家目录(推荐)
chroot_local_user=YES

# 允许 chroot 目录可写(新版 vsftpd 必须)
allow_writeable_chroot=YES

保存后重启:

systemctl restart vsftpd

四、创建 FTP 用户(可选)

# 创建用户
useradd ftpuser
passwd ftpuser

# 设置家目录(可选)
usermod -d /data/ftp ftpuser

五、防火墙放行 FTP 端口

✅ firewalld(CentOS 7+)

firewall-cmd --permanent --add-service=ftp
firewall-cmd --reload

✅ iptables(老系统)

iptables -A INPUT -p tcp --dport 21 -j ACCEPT

六、SELinux 设置(很重要)

如果是 CentOS / RHEL 且 SELinux=Enforcing:

setsebool -P ftp_home_dir on
setsebool -P allow_ftpd_full_access on

查看状态:

getenforce

七、使用 FTP 客户端连接

ftp 服务器IP

或使用工具:

  • FileZilla
  • WinSCP
  • lftp

八、常见问题

❌ 530 Login incorrect

  • 用户名/密码错误
  • 用户被限制登录(检查 /etc/shells)

❌ 500 OOPS: vsftpd: refusing to run with writable root inside chroot()

allow_writeable_chroot=YES

❌ 连接超时

  • 防火墙未放行
  • 云服务器未开放 21 端口

九、如果你需要

  • ✅ 被动模式(Passive FTP)
  • ✅ 虚拟用户
  • ✅ SFTP(更安全的 SSH 方式)
  • ✅ Docker 中开启 FTP

告诉我你的 Linux 发行版 + 使用场景,我可以给你更精确的配置方案。

0 踩