最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Linux 服务器搭建如何配置 FTP 文件传输服务
时间:2026-08-27 08:18:48 编辑:袖梨 来源:一聚教程网
用vsftpd搭建FTP服务最稳妥,需禁用匿名访问、启用chroot锁定用户目录、配置被动模式端口范围、创建无shell权限专用用户,并开放防火墙21端口及被动端口段。
用 vsftpd 搭建 FTP 服务最稳妥,它轻量、安全、社区支持好,适合大多数场景。重点不是装上就行,而是让访问可控、传输不裸奔、防火墙不拦路。选软件和装服务
vsftpd 是 Linux 下最常用的 FTP 服务器,Debian/Ubuntu 和 RHEL/CentOS 系统都原生支持:
- Ubuntu/Debian:sudo apt update && sudo apt install vsftpd
- RHEL/CentOS/Rocky Linux:sudo dnf install vsftpd(新版)或 sudo yum install vsftpd(旧版)
- 装完立即启用并启动:sudo systemctl enable --now vsftpd
关掉匿名登录,只认真实用户
默认配置允许匿名访问,生产环境必须禁用。编辑主配置文件:sudo nano /etc/vsftpd.conf,确保这几行明确设置:
- anonymous_enable=NO(彻底关闭匿名入口)
- local_enable=YES(允许系统本地用户登录)
- write_enable=YES(开启上传、删改等写操作)
- chroot_local_user=YES(把每个用户锁在自己家目录,防越权)
- allow_writeable_chroot=YES(配合上一条,否则 chroot 目录不能有写权限会报错)
改完保存,运行 sudo systemctl restart vsftpd 生效。
开防火墙端口,特别注意被动模式
FTP 控制连接走 21 端口,但数据传输在被动模式下会动态分配高位端口(如 50000–51000),必须显式放行:
- 先开放控制端口:sudo firewall-cmd --permanent --add-port=21/tcp
- 再定义被动端口范围(推荐 50000–51000):echo "pasv_min_port=50000" | sudo tee -a /etc/vsftpd.conf
echo "pasv_max_port=51000" | sudo tee -a /etc/vsftpd.conf
- 然后开放这个范围:sudo firewall-cmd --permanent --add-port=50000-51000/tcp
- 重载防火墙:sudo firewall-cmd --reload
创建专用用户,不给 shell 权限
别直接用 root 或普通登录用户。新建一个仅用于 FTP 的账户:
- sudo useradd -m -s /usr/sbin/nologin ftpuser
- sudo passwd ftpuser(设密码)
- sudo chown ftpuser:ftpuser /home/ftpuser
- sudo chmod 750 /home/ftpuser
这样用户能登录 FTP,但无法通过 SSH 登录系统,也进不了其他目录。
验证是否跑通
用任意 FTP 客户端(如 FileZilla 或命令行 ftp your-server-ip)测试:
- 用刚建的 ftpuser 和密码登录
- 尝试上传一个测试文件,看是否成功
- 检查日志确认行为:sudo tail -f /var/log/vsftpd.log
如果连不上,优先查 systemctl status vsftpd、firewall-cmd --list-all、以及客户端是否设为被动模式(PASV)。
相关文章
- 小米万兆路由器光口怎么设置(小米万兆路由器光口设置方法) 08-27
- 云崩坏星穹铁道官网入口-云崩坏星穹铁道网页版链接 08-27
- 长城H9力魂版有何升级-三把锁和越野配置 08-27
- poki小游戏免费秒玩官网入口-poki宝玩网页版直接进入地址 08-27
- 小米路由器mesh怎么初始化(小米路由器mesh初始化方法) 08-27
- 各地如何培养自己的“宇树科技”-主要信息和内容重点 08-27