温馨提示×

FTPServer在Linux如何安装

小樊
44
2026-08-16 21:51:25
栏目: 智能运维

在 Linux 上安装 FTPServer(FTP 服务器),常见的是使用 vsftpd(Very Secure FTP Daemon),它稳定、安全、使用广泛。下面以 vsftpd 为例,按常见发行版说明安装和配置步骤。


一、安装 vsftpd

1️⃣ Ubuntu / Debian

sudo apt update
sudo apt install vsftpd -y

2️⃣ CentOS / Rocky / AlmaLinux

sudo yum install vsftpd -y

或(CentOS 8+ / Rocky / Alma)

sudo dnf install vsftpd -y

二、启动并设置开机自启

sudo systemctl start vsftpd
sudo systemctl enable vsftpd

检查状态:

sudo systemctl status vsftpd

三、基本配置(重点)

配置文件路径:

/etc/vsftpd.conf

1️⃣ 备份原配置

sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.bak

2️⃣ 常用配置示例

编辑配置:

sudo vim /etc/vsftpd.conf

推荐基础配置:

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

# 允许上传
write_enable=YES

# 禁止匿名登录
anonymous_enable=NO

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

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

# 被动模式(推荐)
pasv_enable=YES
pasv_min_port=30000
pasv_max_port=31000

四、创建 FTP 用户(可选)

sudo useradd -m ftpuser
sudo passwd ftpuser

设置家目录权限:

sudo chown ftpuser:ftpuser /home/ftpuser

五、防火墙配置

1️⃣ 开放 FTP 端口

sudo ufw allow 20/tcp
sudo ufw allow 21/tcp
sudo ufw allow 30000:31000/tcp
sudo ufw reload

(firewalld 示例)

sudo firewall-cmd --permanent --add-port=21/tcp
sudo firewall-cmd --permanent --add-port=30000-31000/tcp
sudo firewall-cmd --reload

六、重启 vsftpd

sudo systemctl restart vsftpd

七、测试连接

本地测试

ftp localhost

远程测试(Windows / Linux)

ftp 服务器IP

或使用工具:

  • FileZilla
  • WinSCP

八、常见问题

❌ 530 Login incorrect

  • 用户名/密码错误
  • /etc/shells 中缺少 bash
  • SELinux 未关闭(CentOS)

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

allow_writeable_chroot=YES

SELinux(CentOS)

sudo setsebool -P ftp_home_dir on
sudo setsebool -P allow_ftpd_full_access on

九、其他常见 FTP 服务器(可选)

软件 特点
vsftpd 最常用、安全
pure-ftpd 配置简单
proftpd 功能强大

如果你告诉我:

  • ✅ Linux 发行版
  • ✅ 是否需要 SFTP / FTPS(SSL)
  • ✅ 是否用于 公网 / 内网

我可以给你 完整可用的一键配置方案

0