需通过宝塔面板结合Pure-FTPd限速机制管理多FTP用户带宽:一、在FTP用户设置中配置上传/下载速率(KB/s);二、确保Pure-FTPd启动参数含-r以启用速率控制;三、用pure-ftpwho实时监控各会话速率;四、创建用户组并在pure-ftpd.conf中配置TrustedGID与连接数限制实现统一分配。

如果您在宝塔面板中部署了多个FTP服务实例或配置了多个FTP用户,但发现各通道传输速率不受控、相互抢占带宽,则需通过宝塔面板结合Pure-FTPd(默认FTP服务)的限速机制进行精细化管理。以下是具体操作步骤:
一、为单个FTP用户设置上传/下载速率限制
Pure-FTPd支持基于用户的独立速率限制,可通过宝塔面板的FTP用户编辑功能直接配置,该设置会写入用户专属的配置项,不影响其他用户。
1、登录宝塔面板,点击左侧菜单栏的【FTP】。
2、在FTP用户列表中,找到目标用户,点击右侧【设置】按钮。
3、在弹出窗口中,找到【上传速度限制(KB/s)】和【下载速度限制(KB/s)】输入框。
4、分别填入整数值,例如上传设为200,下载设为500,留空表示不限速。
5、点击【提交】保存,系统将自动重载Pure-FTPd服务并应用新限速策略。
二、通过Pure-FTPd命令行全局启用速率控制
当面板界面未生效或需验证底层配置时,可手动检查并启用Pure-FTPd的速率模块。宝塔默认启用该模块,但部分自定义安装可能被禁用,需确保其处于激活状态。
1、使用SSH连接服务器,执行命令查看当前Pure-FTPd运行参数:ps aux | grep pure-ftpd。
2、确认输出中包含-r参数(表示启用了速率限制支持);若无,需修改启动配置。
3、编辑Pure-FTPd启动脚本:vi /www/server/pure-ftpd/etc/pure-ftpd。
4、在OPTIONS=行末尾添加-r,例如:OPTIONS="-l mysql:/www/server/pure-ftpd/etc/pureftpd-mysql.conf -e -j -r"。
5、重启服务:bt restart 6(6为FTP服务编号)或systemctl restart pure-ftpd。
三、使用pure-ftpwho实时监控各通道实时速率
pure-ftpwho是Pure-FTPd自带的连接监控工具,可显示每个活跃FTP会话的当前上传/下载瞬时速率,用于验证限速是否生效及排查异常高占用连接。
1、在SSH中执行:pure-ftpwho,列出所有活动连接。
2、观察输出列中的Xfer字段,格式为“UL:xxx KB/s / DL:yyy KB/s”,UL代表上传,DL代表下载。
3、若某用户显示UL远超其设定值(如设定200 KB/s却持续显示UL:850 KB/s),说明该用户未正确绑定限速策略。
4、检查该用户是否属于某个限速组(见第四部分),或是否存在匿名登录绕过用户级限制的情况。
四、创建FTP用户组并统一分配速率策略
当需对多个用户实施相同速率策略(如全部开发人员共用200 KB/s上传上限),可创建用户组并在pure-ftpd.conf中定义组级限速,避免逐个配置。
1、在宝塔FTP界面创建新用户时,在【所属分组】下拉框中选择【新建分组】,输入组名如dev-team。
2、为该组内所有用户勾选同一分组,保存后进入SSH执行:pure-pw mkdb更新数据库。
3、编辑Pure-FTPd主配置文件:vi /www/server/pure-ftpd/etc/pure-ftpd.conf。
4、在文件末尾新增一行:TrustedGID 1001(其中1001为dev-team组的GID,可用getent group dev-team查询)。
5、再新增一行:MaxClientsPerIP 5与MaxClientsNumber 20协同控制并发连接数,间接约束总带宽占用。










