宝塔面板怎么设置 FTP 账号只允许访问指定网站目录?

文章导读
在宝塔面板中设置 FTP 账号只允许访问指定网站目录,主要通过面板内置的 FTP 管理功能实现。首先登录面板进入 FTP 管理页面,添加新账号时绑定特定网站,系统会自动将根目录限制在该网站目录下。若需进一步限制到子目录,需在创建账号后修改家目录路径为具体子路径,并确保该目录权限正确。同时,建议启用 Pure-FTPd 的 ChrootEveryone 配置以防止用户向上遍历,并通过防火墙和安全组放
📋 目录
  1. 宝塔面板如何配置网站的 FTP 账号并限制其访问目录?
  2. 宝塔面板如何配置 FTP 账号访问_管理网站文件与权限分配
  3. 宝塔面板如何设置站点子目录独立权限?在宝塔面板中精细化管理多用户
  4. FAQ
A A

在宝塔面板中设置 FTP 账号只允许访问指定网站目录,主要通过面板内置的 FTP 管理功能实现。首先登录面板进入 FTP 管理页面,添加新账号时绑定特定网站,系统会自动将根目录限制在该网站目录下。若需进一步限制到子目录,需在创建账号后修改家目录路径为具体子路径,并确保该目录权限正确。同时,建议启用 Pure-FTPd 的 ChrootEveryone 配置以防止用户向上遍历,并通过防火墙和安全组放行被动模式端口,确保连接正常且权限隔离有效。

宝塔面板如何配置网站的 FTP 账号并限制其访问目录?

需通过宝塔 ftp 管理创建账号、修改家目录、配置用户组与 pure-ftpd 参数实现单网站子目录隔离:先在 ftp 界面添加绑定站点的账号;再于设置中将家目录改为具体子路径并调整权限;接着用 groupadd、usermod 命令创建隔离组并禁用 shell;最后启用 chrooteveryone 等配置并重启服务,经 filezilla 和 ssh 双重验证确保权限受限。如果您在宝塔面板中需要为某个网站单独创建 FTP 账号,并确保该账号仅能访问指定目录,避免越权操作,则需通过面板内置的 FTP 管理功能进行精细化配置。以下是实现此目标的具体步骤:一、创建独立 FTP 账号 宝塔面板支持为每个网站绑定专属 FTP 账号,该账号默认以网站根目录为家目录,且无法跨站访问其他网站文件。创建时需指定用户名、密码及绑定站点。1、登录宝塔面板,点击左侧菜单栏中的 FTP 选项。2、点击右上角的添加 FTP 按钮。3、在弹出窗口中,填写 FTP 用户名 (建议使用字母 + 数字组合,避免特殊字符)。4、设置密码并确认,密码强度需满足面板要求 (至少 8 位,含大小写字母与数字)。5、在绑定站点下拉菜单中,选择目标网站域名。6、勾选限制 IP 访问 (可选),如需增强安全性,可填入允许连接的客户端 IP 段。7、点击提交完成创建。二、修改 FTP 账号家目录路径 默认情况下,新建 FTP 账号的家目录为所选网站的根目录 (如/www/wwwroot/example.com)。若需进一步限制其仅访问子目录 (如/www/wwwroot/example.com/upload),则需手动调整系统用户主目录并重载 Pure-FTPd 服务。1、在 FTP 列表中,找到刚创建的账号,点击设置按钮。2、在设置页中,将家目录字段修改为具体子路径,例如:/www/wwwroot/example.com/upload。3、确保该子目录已存在且权限正确:执行命令 chown -R www:www /www/wwwroot/example.com/upload。4、返回 FTP 列表页,点击该账号右侧的重启服务图标,使 Pure-FTPd 重新加载配置。三、通过系统用户组限制目录边界 仅修改家目录可能因 Pure-FTPd 配置缺陷导致用户仍可向上遍历。为彻底锁定访问范围,需结合 Linux 系统用户机制,将 FTP 账号加入专用用户组并设置目录绑定挂载点。1、在 SSH 中执行命令创建隔离用户组:groupadd ftp_isolate。2、将 FTP 对应系统用户加入该组 (用户名可在 FTP 列表“系统用户”列查看):usermod -aG ftp_isolate ftp_username。3、为该用户设置严格的 shell 限制:usermod -s /usr/sbin/nologin ftp_username。4、编辑 Pure-FTPd 配置文件:/www/server/pure-ftpd/etc/pure-ftpd.conf,确认以下参数已启用:ChrootEveryone yes 与 NoAnonymous yes。(资料日期为 2026 年 3 月 14 日)

宝塔面板如何配置 FTP 账号访问_管理网站文件与权限分配

宝塔 FTP 账号由面板内置 pyftpdlib 服务统一管理,必须通过面板添加、带 www_ftp_前缀、绑定已有网站根目录;530 错误多因账号禁用或密码含特殊字符,425 错误主因 PASV 端口 (21000-21999) 未在安全组及宝塔防火墙放行。FTP 账号在宝塔里根本不是独立服务,别瞎配 vsftpd 或 pure-ftpd 配置文件 宝塔的「FTP」功能本质是调用其内置的轻量 FTP 服务 (基于 pyftpdlib),所有账号、根目录、权限都由面板统一管理。直接去服务器上改/etc/vsftpd.conf 或重启 pure-ftpd 不仅无效,还会导致面板前端显示异常甚至账号消失。新建 FTP 账号必须走「网站」→「FTP」页面,点击「添加 FTP」,不能 SSH 手动创建系统用户 账号名自动加前缀 (如 www_ftp_test),这是宝塔识别归属的关键,手动删前缀会导致无法登录或权限错乱「根目录」必须选已存在的网站根目录 (如/www/wwwroot/example.com),填错路径会导致登录后看不到文件,但不会报错 登录失败常见错误:530 Login incorrect 和 425 Can't open data connection 前者是认证问题,后者是被动模式 (PASV) 端口不通——这两类错误在宝塔 FTP 中占比超 90%。530 Login incorrect:检查账号是否被禁用 (面板里开关是灰色的)、密码是否含特殊字符 (如@、/,部分 FTP 客户端会截断)、是否误用了主控账号 (root 或面板登录账号) 而非 FTP 子账号 425 Can't open data connection:宝塔默认 PASV 端口范围是 21000-21999,必须在服务器安全组和宝塔「安全」页面同时放行该端口段;若用了云厂商 (阿里云/腾讯云),光开宝塔防火墙没用,云控制台的安全组也得加规则 本地测试建议用 FileZilla,它会在日志里明确标出卡在哪一步;浏览器直连或手机 APP 往往只显示「连接失败」,排查成本高 权限分配不是靠 Linux chmod,而是靠宝塔 FTP 账号绑定的「目录限制」你在 FTP 客户端里看到的可写/不可写,不取决于 chmod 755,而取决于账号创建时选的「根目录」以及是否勾选「禁止上传」。勾选「禁止上传」后,FTP 用户只能下载、查看,put、mkdir 全部拒绝,且这个限制优先级高于系统文件权限 没勾选「禁止上传」但实际无法上传,大概率是网站根目录属主不是 www(比如你用 root 解压过代码),此时需在宝塔「文件」页面右键目录 → 「权限设置」→ 把所有者设为 www 一个账号只能绑一个根目录,想访问多个站点?必须建多个 FTP 账号,别指望用../跳转——宝塔做了路径隔离,越界访问直接 550 错误 用命令行验证 FTP 是否真通,比看面板状态栏靠谱得多(消息于 2026 年 3 月 28 日发布)

宝塔面板如何设置站点子目录独立权限?在宝塔面板中精细化管理多用户

需为子目录配置独立权限控制:一、子目录绑定创建隔离入口; 二、设置专属文件权限与所有者; 三、创建独立系统用户并限制 ssh/ftp 访问; 四、启用多用户虚拟主机分配资源配额; 五、配置 nginx/apache 子目录独立运行环境。如果您在宝塔面板中为同一站点配置了多个子目录,并希望各子目录由不同用户独立管理、互不干扰,则需对子目录实施独立权限控制。以下是实现该目标的具体操作路径:一、通过子目录绑定创建隔离入口 子目录绑定功能可为指定子目录分配独立域名或路径入口,是实现逻辑隔离的第一步。绑定后,该子目录在文件系统层面仍隶属主站,但可通过独立配置实现访问控制起点。1、登录宝塔面板,点击左侧【网站】进入站点列表。2、找到目标站点,点击其绑定的域名右侧的【子目录绑定】按钮。3、在弹出窗口中填写子目录域名 (如 sub.example.com) 或路径前缀 (如 /app),并在【选择子目录】下拉框中指定具体目录 (如 /www/wwwroot/example.com/app)。4、点击【添加】完成绑定。此时该子目录获得独立的伪静态、SSL、反向代理等配置入口。二、为子目录设置专属文件权限与所有者 权限与所有者分离是实现多用户操作隔离的核心机制。需将子目录及其内容的所有权归属对应用户,并设定严格权限,防止跨目录越权读写。1、点击左侧【文件】进入文件管理器。2、导航至主站根目录,定位已绑定的子目录 (如 /www/wwwroot/example.com/app)。3、右键点击该子目录,选择【权限】。4、在弹出窗口中:勾选【递归设置权限】,输入目录权限 755;在【所有者】栏输入对应用户的系统用户名 (如 appuser);在【用户组】栏输入该用户所属组 (如 appuser)。5、点击【确定】保存。系统将同步修改该目录下全部子项的所有者与权限。仅修改文件所有者不足以阻止用户通过 FTP 或 SSH 越界操作,必须配合系统级用户创建与服务限制,确保物理隔离。1、点击左侧【安全】→【防火墙】→【系统用户】,点击【创建用户】。2、填写用户名 (如 appuser)、密码,并在【主目录】中指定该用户的根路径为子目录绝对路径 (如 /www/wwwroot/example.com/app)。扣子 Coze 推出的 AI Agent 全生命周期管理与调优平台 下载 3、勾选【禁止 SSH 登录】或【仅允许 SFTP】,取消勾选【允许 FTP 登录】(若使用 Pure-FTPd 则需另行配置虚拟用户映射)。4、点击【提交】。该用户后续仅能访问指定子目录及其子项,无法向上穿透或横向访问其他子目录。(截至 2026 年 3 月 15 日)

宝塔面板怎么设置 FTP 账号只允许访问指定网站目录?

FAQ

宝塔面板 FTP 账号默认能访问整个服务器吗?

不能,宝塔面板创建的 FTP 账号默认绑定特定网站根目录,无法跨站访问其他网站文件,且可通过配置限制仅访问子目录。

为什么 FTP 登录报错 425 Can't open data connection?

宝塔面板怎么设置 FTP 账号只允许访问指定网站目录?

这通常是被动模式 (PASV) 端口不通导致,需在服务器安全组和宝塔防火墙同时放行 21000-21999 端口段。

如何防止 FTP 用户向上遍历目录?

需启用 Pure-FTPd 的 ChrootEveryone yes 配置,并结合系统用户组限制目录边界,确保用户被锁定在家目录内。