在 Linux 上安装 FTPServer(FTP 服务器),常见的是使用 vsftpd(Very Secure FTP Daemon),它稳定、安全、使用广泛。下面以 vsftpd 为例,按常见发行版说明安装和配置步骤。
sudo apt update
sudo apt install vsftpd -y
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
sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.bak
编辑配置:
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
sudo useradd -m ftpuser
sudo passwd ftpuser
设置家目录权限:
sudo chown ftpuser:ftpuser /home/ftpuser
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
sudo systemctl restart vsftpd
ftp localhost
ftp 服务器IP
或使用工具:
/etc/shells 中缺少 bashallow_writeable_chroot=YES
sudo setsebool -P ftp_home_dir on
sudo setsebool -P allow_ftpd_full_access on
| 软件 | 特点 |
|---|---|
| vsftpd | 最常用、安全 |
| pure-ftpd | 配置简单 |
| proftpd | 功能强大 |
如果你告诉我:
我可以给你 完整可用的一键配置方案。