在宝塔面板中配置网站FTP账号并限制访问目录,是提升网站文件管理安全性和便利性的常用操作,整个过程可以通过面板的图形化界面配合少量配置调整完成,不需要复杂的命令行操作。

前置准备
首先确保宝塔面板已经安装并正常运行,同时已经创建好需要绑定FTP的网站,并且面板中安装了Pure_Ftpd服务,如果没有安装可以在软件商店中搜索Pure_Ftpd并完成安装,安装后保持服务处于运行状态。
基础FTP账号创建
登录宝塔面板后,按照以下步骤创建FTP账号:
- 在左侧导航栏找到FTP选项,点击进入FTP管理页面
- 点击页面左上角的添加FTP按钮,打开账号配置弹窗
- 在弹窗中填写以下信息:
- 用户名:自定义FTP登录用户名,建议和网站名称关联方便区分
- 密码:设置FTP登录密码,建议包含字母、数字和特殊字符提升安全性
- 根目录:选择该FTP账号对应的网站根目录,比如
/www/wwwroot/ippipp.com - 备注:可选填写,用于标记账号用途
- 确认信息无误后点击提交,即可完成基础FTP账号的创建
限制FTP账号访问目录
默认的FTP账号根目录设置已经可以限制账号只能访问指定目录,如果需要更精细的权限控制,可以通过以下两种方式调整:
方式一:通过面板直接修改根目录
如果需要调整已创建FTP账号的访问目录,回到FTP管理页面,找到对应的账号,点击右侧的编辑按钮,在根目录选项中重新选择需要限制的目录路径,比如只想让账号访问网站的uploads目录,就选择/www/wwwroot/ippipp.com/uploads,保存后即可生效。
方式二:通过Pure_Ftpd配置文件限制
如果需要实现更复杂的目录限制规则,可以修改Pure_Ftpd的配置文件:
- 在宝塔面板左侧导航栏找到软件商店,找到已安装的Pure_Ftpd,点击设置
- 切换到配置修改标签页,找到
ChrootEveryone配置项,默认值为no,将其修改为yes,该配置会让所有FTP用户都被限制在自己的家目录(也就是设置的根目录)中,无法切换到上级目录 - 修改完成后点击保存,然后重启Pure_Ftpd服务使配置生效
如果需要针对单个用户做限制,可以编辑Pure_Ftpd的用户配置文件,路径为/www/server/pure-ftpd/etc/pure-ftpd.passwd,找到对应用户的行,修改其目录路径即可,修改后同样需要重启服务。
验证配置效果
配置完成后可以使用FTP客户端(比如FileZilla)验证配置是否生效:
- 打开FTP客户端,输入服务器公网IP、刚才创建的FTP用户名和密码,端口默认使用21
- 连接成功后,尝试切换到根目录的上级目录,如果配置生效,会提示无权限访问,只能看到和操作设置的根目录下的文件
如果遇到连接失败的情况,可以检查服务器防火墙是否放行了21端口,以及Pure_Ftpd服务是否正常运行,也可以查看面板的FTP日志排查错误原因。
常见问题说明
- 如果修改了网站根目录路径,需要及时同步更新对应FTP账号的根目录设置,否则会出现无法访问文件的问题
- ChrootEveryone设置为yes后,所有FTP用户都会被限制目录,如果有特殊用户需要访问上级目录,可以单独调整该用户的配置,不要全局关闭该选项
- FTP密码建议定期更换,避免密码泄露导致网站文件被篡改
代码示例:查看Pure_Ftpd用户配置
如果需要查看当前所有FTP用户的配置信息,可以执行以下命令:
# 查看Pure_Ftpd用户配置文件内容 cat /www/server/pure-ftpd/etc/pure-ftpd.passwd # 输出示例(部分内容) # example_user:$6$abc123$def456:1001:1001::/www/wwwroot/ippipp.com:/bin/false # 其中第6个字段(/www/wwwroot/ippipp.com)就是该用户的访问根目录