当前位置: 首页 > news >正文

quota使用

一、检查系统是否支持

grep CONFIG_QUOTA /boot/config*
CONFIG_QUOTA=y
CONFIG_QUOTA_NETLINK_INTERFACE=y
# CONFIG_QUOTA_DEBUG is not set
CONFIG_QUOTA_TREE=y
CONFIG_QUOTACTL=y
CONFIG_QUOTACTL_COMPAT=y

二、安装

yum install -y quota

三、配置

3.1 创建磁盘

格式一定要 ext,不能 xfs!!!

# 1. 这里新建了一个硬盘
fdisk /dev/sdb
# n 然后回车,最后w就行# 2. 格式化硬盘,注意这里一定要ext4或者ext3格式,xfs格式是不行的
mkfs.ext4 /dev/sdb1# 3. 设置挂载格式,这里挂载到/mnt/test下
mkdir /mnt/test
echo "/dev/sdb1 /mnt/test ext4 defaults,usrquota,grpquota 0 0" >> /etc/fstab
mount -a
# mount –o remount / 这个是重新挂载,有时候用得到

3.2 设置配额

# 1. 创建用户配额文档
quotacheck -cvug /mnt/test
ls -al /mnt/test/a*# 2. 设置单个用户的配额,格式: soft hard inode
setquota -u bhlu 10M 10M 0 0 /mnt/test/# 3. 查看用户配额
edquota -u bhlu# 4. 将配置复制给其他人
edquota -p bhlu -u test
edquota -u test
# 将bhlu的配额策略复制给多个人可以这样 edquota -p bhlu test01 test02 test03# 5. 启动配额,quotaon -av也行
quotaon /mnt/test/# 6. 查看是否启动成功
quotaon -p /mnt/test/
group quota on /mnt/test (/dev/sdb1) is on
user quota on /mnt/test (/dev/sdb1) is on

3.3 测试配额是否成功

# 1. 设置一下权限,不然用户没有权限创建文件
chmod 777 /mnt/test# 2. 进入用户
su - bhlu# 3. 生成10M文件
dd if=/dev/zero of=/mnt/test/testfile1 bs=1M count=10
ls -lh /mnt/test/testfile1
-rw-rw-r-- 1 bhlu bhlu 10M Jul 13 23:33 /mnt/test/testfile1# 4. 再次创建一个文件
echo "111" > /mnt/test/testfile2
sdb1: write failed, user block limit reached
-bash: echo: write error: Disk quota exceeded# 5. 查看是否成功,发现没有数据
ls -lh /mnt/test/testfile2
-rw-rw-r-- 1 bhlu bhlu 0 Jul 13 23:33 /mnt/test/testfile2# 6. 调整用户配额大小
exit
setquota -u bhlu 20M 20M 0 0 /mnt/test/
edquota -u bhlu# 7. 再次写入数据
su - bhlu
echo "111" > /mnt/test/testfile3
ls -lh /mnt/test/testfile3
-rw-rw-r-- 1 bhlu bhlu 4 Jul 13 23:37 /mnt/test/testfile3

3.4 关闭配额

# 1. 关闭配额
quotaoff -vaug# 2. 修改/etc/fstab,然后umount就行了

四、总结

上面只是演示 quota 的简单用法,如果还需要更细致的配置,需要查看相关文档。

  • 几个注意点需要注意下
    1. 磁盘的格式,我自己测试 xfs 格式是不行的,ext4 格式可以
    2. 用户的配额,单位都是 KB,一般 softhard 配置是一样的, blocks 可以显示用户已经使用空间大小,inode 是文件节点,我理解是文件数量,尽量设置为 0 即可,也就是不限制
http://www.lryc.cn/news/399516.html

相关文章:

  • 解决fidder小黑怪倒出JMeter文件缺失域名、请求头
  • 智慧城市的神经网络:Transformer模型在智能城市构建中的应用
  • 产品经理-研发流程-敏捷开发-迭代-需求评审及产品规划(15)
  • Ansible 安装及使用说明
  • MyBatisPlus实现增删改查
  • 【Rust】——不安全Rust
  • 使机器人在执行任务时更加稳定
  • FFmpeg学习(五)-- libswresample使用说明及函数介绍
  • 车载视频监控管理方案:无人驾驶出租车安全出行的保障
  • 05STM32EXIT外部中断中断系统
  • MetaGPT和LangGraph对比
  • 基于SpringBoot+Hadoop+python的物品租赁系统(带1w+文档)
  • 关于 RK3588刷镜像升级镜像”没有发现设备“ 的解决方法
  • docker 上传镜像到hub仓库
  • 查询(q_proj)、键(k_proj)和值(v_proj)投影具体含义
  • 超详细版阿里云控制台环境配置+数据库配置
  • Linux:Linux网络总结(附下载链接)
  • Cxx Primer-CP-2
  • OpenCV距离变换函数distanceTransform的使用
  • Service Mesh 是一种用于处理服务间通信的基础设施层
  • QML界面控件加载与显示顺序
  • C++从入门到起飞之——缺省参数/函数重载/引用全方位剖析!
  • tkinter-TinUI-xml实战(12)pip可视化管理器
  • Java中标识符和关键字
  • 电子版pdf格式标书怎么加盖公章?
  • 【开放集目标检测】Grounding DINO
  • 东莞酷得 PMS134应广8位OTP单片机
  • [终端安全]-7 后量子密码算法
  • uniapp 支付宝小程序 芝麻免押 免押金
  • Python爬虫教程第一篇