讲师中心 微信公众号
AI工具推荐 视频效率加速

Ubuntu如何配置FTP服务器

陌枫小哥_6806

陌枫小哥_6806

发布时间:2026-08-06 06:57:00

|

893人浏览过

|

来源于php中文网

原创

vsftpd在Ubuntu上默认拒绝可写chroot目录,报错“500 OOPS”,因其安全机制要求chroot根目录不可写;解决方法为:设主目录不可写并建可写子目录,或配置allow_writeable_chroot=YES(内网可用,生产环境慎用)。

ubuntu如何配置ftp服务器

vsftpd 是 Ubuntu 上最常用、最轻量也最安全的 FTP 服务实现。直接用它,别折腾 proftpd 或 pure-ftpd ——除非你明确需要它们的某项特性(比如 LDAP 集成或虚拟用户数据库)。默认配置下 vsftpd 启动即用,但裸配会出问题:常见是连得上却进不去家目录、上传失败、被动模式卡死,或者被防火墙/SELinux 拦住。

为什么 vsftpd 默认拒绝 chroot?

新版 vsftpd(尤其是 Ubuntu 18.04+)默认启用 chroot_local_user=YES 时,会要求被 chroot 的目录**不可写**(即 /home/ftpuser 不能对 ftpuser 可写),否则直接拒绝登录并报错:500 OOPS: vsftpd: refusing to run with writable root inside chroot()。

这不是 bug,是安全加固机制。解决方法只有两个:

  • 把用户主目录设为不可写(chmod a-w /home/ftpuser),再在下面建一个可写子目录(如 /home/ftpuser/upload)供上传;
  • 加一行配置 allow_writeable_chroot=YES(仅限测试环境或内网可信场景)——注意它绕过了 chroot 安全检查,生产环境慎用。

如何让 passive mode(PASV)真正可用?

很多用户配置完发现客户端能连控制端口(21),但 LIST/RETR 失败,卡在“数据连接超时”——这基本是 PASV 模式没调通。

vsftpd 默认 PASV 端口范围是随机高端口(1024–65535),而云服务器或家用路由器几乎都只放行 20/21 端口。必须显式限定端口段,并在防火墙和 NAT 规则里同步放开:

Linux installer
Linux installer

先解析安全源,运行本地CLI安装、启动、卸载Linux桌面应用。用户请求时使用。

下载
  • 在 /etc/vsftpd.conf 中添加:
    pasv_enable=YES
    pasv_min_port=10000
    pasv_max_port=10100
  • Ubuntu 自带 ufw 的话,运行:sudo ufw allow 10000:10100/tcp;
  • 如果是云服务器(如阿里云、腾讯云),还要在安全组里放行 10000–10100 TCP 端口;
  • 若服务器在 NAT 后(比如公司内网),需在路由器上做端口映射:将公网 IP 的 10000–10100 映射到内网服务器对应端口。

local_enable=YES 但登录仍被拒绝?检查三件事

常见现象:用户明明存在、密码正确、local_enable=YES 已开,却提示 530 Permission denied。

优先排查以下三项:

  • /etc/vsftpd.user_list 和 /etc/vsftpd.chroot_list 文件内容 —— 如果 userlist_enable=YES(默认开启),且用户出现在 user_list 中,就会被**默认拒绝**(哪怕密码对);要么删掉该用户名,要么把 userlist_deny=NO 改成 YES(表示 list 里的是允许名单);
  • ftpusers 文件 —— 这是黑名单,root、daemon、sys 等系统用户默认在里面;如果你的用户名也在其中,会被无条件拒登;
  • 用户 shell 是否合法 —— vsftpd 默认只允许 /bin/bash、/bin/sh 等白名单 shell 登录;如果用户 shell 是 /usr/sbin/nologin 或 /bin/false(常见于纯 FTP 用户),需加配置:check_shell=NO。

重启后配置不生效?别只 systemctl restart

改完 /etc/vsftpd.conf 后,执行 sudo systemctl restart vsftpd 是常规操作,但容易忽略两点:

  • 配置语法错误会导致服务启动失败,但 systemctl 不一定立刻报错;务必检查:sudo systemctl status vsftpd 和 sudo journalctl -u vsftpd -n 20 --no-pager;
  • 某些旧版 Ubuntu(如 16.04)仍用 SysV init,service vsftpd restart 才有效;不确定时,用 ps aux | grep vsftpd 看进程是否真重启了;
  • 修改了用户目录权限(如 chown 或 chmod)后,记得确认 SELinux 或 AppArmor 没拦截 —— Ubuntu 默认用 AppArmor,查日志:sudo aa-status,再看 /var/log/syslog 里有没有 apparmor="DENIED" 记录。

实际部署中,最常卡住的不是安装,而是 chroot 权限 + PASV 端口 + 用户白/黑名单 这三者的组合逻辑。每改一项,都要验证对应环节,别堆在一起调。尤其别在公网环境开 anonymous_enable=YES 或 write_enable=YES 而不设访问限制 —— 扫描器几秒就能找到并塞满你的磁盘。

热门AI工具

更多
WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

UP简历
UP简历 Hot

一款AI办公效率工具,主要用于基于AI技术的免费在线简历制作工具,适合需要提升相关任务效率的用户。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

讯飞智作

讯飞智作是一款AI视频创作工具,AI文本配音工具,数字人课程、营销视频制作。

切问学术

切问学术是一款AI论文写作工具,复旦大学NLP团队推出的AI学术智能体。

讯飞绘文

讯飞绘文是一款由科大讯飞推出的一站式 AIGC 内容运营平台。

咔片AIPPT

一款在线AI演示文稿制作工具,可根据主题和内容需求辅助生成PPT结构与页面,提高演示材料制作效率。

AionClaw
AionClaw Hot

AionClaw是一款面向办公、创作和编程任务的AI桌面智能体。

相关专题

更多
服务器是什么
服务器是什么

服务器是一种计算机硬件设备或软件程序,它具有强大的计算和存储能力,用请求、存储数据和提供服务。它在互联网中着关重要的作用,为用户提供各种服务和资源。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

437

2023.08.15

连接apple id服务器时出错
连接apple id服务器时出错

连接apple id服务器时出错的原因包括网络连接问题、服务器问题、Apple ID账户问题、设备问题、防火墙或安全软件问题、时间和日期设置问题、Apple服务器维护等。本专题为大家提供apple id相关的文章、下载、课程内容,供大家免费下载体验。

900

2023.09.08

搭建互联网服务器
搭建互联网服务器

搭建互联网服务器需要:1、选择合适的硬件和操作系统,第一步是选择合适的硬件和操作系统;2、安装和配置操作系统,是搭建互联网服务器的关键步骤;3、安装和配置服务器软件,是搭建互联网服务器的下一步,常见的服务器软件包括Apache、Nginx、Tomcat等;4、配置防火墙和安全性,是搭建互联网服务器的重要步骤;5、域名解析和配置,是搭建互联网服务器的最后一步。

2792

2023.09.19

如何查看服务器状态
如何查看服务器状态

查看服务器状态的方法有使用命令行工具、图形界面工具、监控工具、日志文件和远程管理工具等。本专题为大家提供服务器状态相关的文章、下载、课程内容,供大家免费下载体验。

936

2023.10.09

服务器域名转接慢怎么解决
服务器域名转接慢怎么解决

服务器域名转接慢的解决办法有DNS优化、服务器优化、CDN加速、前端优化和网络优化等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

829

2023.10.17

服务器评测软件
服务器评测软件

服务器评测软件有PassMark Software、CPU-Z、GPU-Z、CrystalDiskMark、IOmeter、JMeter、LoadRunner、Apache Bench等等。详细介绍:1、PassMark Software是一款综合性的服务器性能测试软件,可以评估服务器在各种负载条件下的性能;2、CPU-Z是一款可以提供服务器CPU详细信息的软件等等。

434

2023.10.17

如何开启TFTP服务器
如何开启TFTP服务器

开启TFTP服务器的步骤包括选择TFTP服务器软件、下载和安装软件、配置TFTP服务器以及启动和测试服务器等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2516

2023.10.18

服务器负载不兼容怎么解决
服务器负载不兼容怎么解决

解决方法:1、增加服务器资源;2、负载均衡;3、优化应用程序;4、增加缓存机制;5、分布式架构;6、限流和熔断;7、自动化扩容。想知道更详细服务器负载不兼容的解决方法,可以访问本专题下面的文章。

4672

2023.10.20

C++虚函数怎么定义和调用
C++虚函数怎么定义和调用

C++虚函数是实现运行时多态的重要机制。本专题从virtual关键字的基本用法入手,介绍基类与派生类之间的函数重写、基类指针调用派生类方法,以及动态绑定的执行过程,帮助初学者掌握虚函数的核心语法。

0

2026.10.10

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn