在 Linux 中安装 FTP(文件传输协议)服务通常使用 vsftpd(Very Secure FTP Daemon),它是 Linux 上最流行、最安全的 FTP 服务器软件之一。以下是详细的安装和配置步骤,适用于 Ubuntu/Debian 和 CentOS/RHEL 系统。
sudo apt update
sudo apt install vsftpd
sudo systemctl status vsftpd
如果看到 active (running)
,说明服务已启动。
sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.bak
sudo nano /etc/vsftpd.conf
# 允许本地用户登录
local_enable=YES
# 允许写入权限(上传/删除文件)
write_enable=YES
# 禁止匿名登录(更安全)
anonymous_enable=NO
# 限制用户只能访问自己的家目录(chroot)
chroot_local_user=YES
# 允许使用被动模式(PASV),适用于防火墙/NAT 环境
pasv_enable=YES
pasv_min_port=30000
pasv_max_port=31000
# 日志记录
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log
Ctrl + X
→ Y
→ Enter
)ftpuser
)sudo adduser ftpuser
按提示设置密码和用户信息。
sudo chown ftpuser:ftpuser /home/ftpuser
sudo chmod 755 /home/ftpuser
ufw
(Ubuntu/Debian)sudo ufw allow 20/tcp # FTP 控制端口
sudo ufw allow 21/tcp # FTP 数据端口
sudo ufw allow 30000:31000/tcp # PASV 被动模式端口范围
sudo ufw reload
firewalld
(CentOS/RHEL)sudo firewall-cmd --permanent --add-port=20/tcp
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
sudo systemctl enable vsftpd
ftp
命令行工具测试ftp localhost
输入用户名和密码登录。
ftpuser
21
vsftpd
是否运行:sudo systemctl status vsftpd
sudo ufw status
或 sudo firewall-cmd --list-ports
write_enable=YES
已启用。sudo chown ftpuser:ftpuser /home/ftpuser
pasv_enable=YES
已启用。30000-31000
)。