You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在ZPanel中限制用户磁盘空间?CentOS7下FTP配额失效解决

1. 在ZPanel中为用户设置磁盘空间限制

这是ZPanel里比较基础的操作,步骤很清晰:

  • 登录ZPanel后台,在左侧菜单栏找到Accounts选项,点击进入Manage Accounts页面
  • 在用户列表里定位到要设置的用户,点击对应的Edit按钮进入编辑界面
  • 处理套餐配置:
    • 如果你已经创建好带磁盘配额的套餐,直接在Package下拉框中选择对应套餐即可
    • 若没有合适的套餐,点击Create a New Package,在套餐配置页找到Disk Quota字段,输入需要的空间值(注意单位,比如输入2048代表2GB),保存套餐后再分配给目标用户
  • 点击页面底部的Save Changes,该用户的磁盘空间限制就会生效

2. CentOS 7下修复FTP上传超配额的问题

你遇到的情况很常见——ZPanel的面板配额只是上层逻辑限制,系统层面的磁盘配额未配置的话,FTP这类直接操作文件的服务就能绕过限制。下面是完整的解决步骤:

第一步:安装磁盘配额工具

先确保系统安装了配额管理工具,执行命令:

yum install quota -y

第二步:开启分区的配额支持

编辑/etc/fstab文件,找到用户网站数据所在的分区(通常是/home,若ZPanel数据存于其他分区则对应修改),在挂载选项中添加usrquota,grpquota。比如原挂载行:

/dev/mapper/centos-home /home xfs defaults 0 0

修改后:

/dev/mapper/centos-home /home xfs defaults,usrquota,grpquota 0 0

修改完成后重新挂载分区使设置生效:

mount -o remount /home

第三步:设置用户的磁盘配额

CentOS 7默认使用XFS文件系统,用xfs_quota命令设置配额:

xfs_quota -x -c 'limit -u bsoft=2M bhard=2M 你的用户名' /home

这里bsoft是软限制(超过后会触发警告,但仍可临时上传少量数据),bhard是硬限制(绝对无法突破的上限),按你的需求设置为2M即可。

如果是ext文件系统,先初始化配额数据库:

quotacheck -cu /home

再编辑用户配额:

edquota -u 你的用户名

在打开的编辑器中,将blocks的软、硬限制修改为2048(1块对应1KB,2MB即2048块)。

第四步:开启配额服务并设置开机自启

systemctl start quotaon
systemctl enable quotaon

第五步:配置FTP服务支持配额检查

假设你使用的是vsftpd,编辑/etc/vsftpd/vsftpd.conf,确保存在以下设置(没有则添加):

check_shell=NO
userlist_enable=YES
tcp_wrappers=YES

然后重启vsftpd服务:

systemctl restart vsftpd

最后回到ZPanel,确认用户的套餐配额与系统层面设置的数值一致,通过面板+系统的双重限制,就能彻底解决FTP上传超配额的问题。


内容的提问来源于stack exchange,提问作者Shreya Bhunia

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 10:40:42