下面以 Linux 下最常用的 FTP 服务器 vsftpd(Very Secure FTP Daemon) 为例,给你一个 从安装到基本配置 的完整说明。如果你用的是其他发行版或 FTP 软件(如 Pure-FTPd、ProFTPD),也可以再告诉我。
sudo apt update
sudo apt install vsftpd
sudo yum install vsftpd -y
# 或
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
# 禁止匿名登录
anonymous_enable=NO
# 允许本地用户登录
local_enable=YES
# 允许上传/写入
write_enable=YES
# 本地用户只能访问自己的家目录(重要)
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 mkdir -p /home/ftpuser/ftp
sudo chown ftpuser:ftpuser /home/ftpuser/ftp
# 控制连接
sudo ufw allow 21/tcp
# 被动端口
sudo ufw allow 30000:31000/tcp
(如果用 firewalld,我也可以给你对应命令)
如果连接异常,可临时测试:
sudo setenforce 0
永久关闭(不推荐):
sudo vim /etc/selinux/config
SELINUX=disabled
或正确放行 FTP:
sudo setsebool -P ftp_home_dir on
sudo systemctl restart vsftpd
ftp localhost
lftp / ftp 命令| 问题 | 原因 |
|---|---|
| 530 Login incorrect | 用户密码错误 / PAM 限制 |
| 500 OOPS: chroot | 目录权限不对 |
| 连接超时 | 防火墙 / 被动端口未开放 |
| 无法上传 | write_enable=NO |
如果你需要:
告诉我你的 Linux 发行版 + 使用场景,我可以给你更精确的配置方案。