Ubuntu中控制用户存储空间配置步骤

目的,限制用户磁盘空间占用,例如给用户限制100-150G容量

1.安装磁盘配额工具

sudo apt-get install -y quota

2.备份并修改/etc/fstab文件,使能支持quota

sudo cp /etc/fstab /etc/fstab.bak
vim /etc/fstab #写入如下,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv1
UUID=911f7120-b32c-49f2-a6e3-d71880c10ef0 / ext4 defaults,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv1 0 0
#保存退出
#重新挂载,你是应用在home目录就重新挂载home,其他的一样,因为这里磁盘空间是挂在在home下的,那么我就在fstab中写在home下,这里的uuid就是我的home的挂载uuiid
sudo mount -o remount /home

3生成或更新相关的配额文件。这些文件用于跟踪用户的磁盘使用情况,并实施磁盘配额限制

sudo quotacheck -cugm /home
ls -l /home 查看home下,已经生成了两个文件 [aquota.user 和 aquota.group]

4. 设置空间配额

sudo setquota -u admin 104857600 157286400 0 0 /home # 100 -150GB 单位是KB,自己可以换算

复制现有用户 lison 的磁盘配额设置给新用户,这样比较方便
sudo edquota -p lison -u 用户名

5.查看配额

sudo repquota /home # 查看所有用户配额
sudo quota -uvs admin # 查看单个用户配额,人类可读

============================================

6.立即生效(无需重启)

sudo quotaon -u /dev/sda1

测试用户操作(以admin用户身份)

touch test_file # 应能成功创建
dd if=/dev/zero of=test.img bs=1G count=200 # 应在150GB时被阻断


常用的硬盘配额命令主要有:
quotaon,quotaoff——启动或关闭一个分区的配额服务
quotaon -u /home # 启动
quotaoff -u /home # 关闭

可以通过更改/etc/fstab文件的条目来启动和关闭硬盘配额服务
quota -v(用户可以查询自己的硬盘配额情况)

查看所有超限用户

sudo repquota -a | grep +

方案A:提高硬限制(临时放宽)

sudo setquota -u zack 104857600 200000000 0 0 /dev/sda1

方案B:宽限时间延长(争取处理时间)

sudo setquota -T 14 -u zack /dev/sda1 # 14天宽限期

方案C:豁免特定用户(紧急情况下)

sudo setquota -u zack 0 0 0 0 /dev/sda1 # 完全解除限制

1. 通知用户清理建议

echo “请立即清理超出150GB的数据,否则无法保存新文件” | write zack

2. 提供清理工具

sudo -u zack ncdu /home/zack # 交互式磁盘分析工具

3. 设置自动清理(可选)

find /home/zack -type f -user zack -size +1G -mtime +30 -exec rm -f {} ;

#磁盘配额的宽限期设置详解
#在磁盘配额系统中,宽限期(grace period)是指用户超过软限制(soft limit)后还能继续使用资源的缓冲时间

设置块配额宽限期为14天,文件数配额宽限期为14天,默认的是7天(方法1:全局设置(影响所有用户))

sudo setquota -t 1209600 1209600 /dev/sda1

参数解释:

1209600 = 14天 × 24小时 × 60分钟 × 60秒 = 14天的秒数

只设置zack用户的宽限期(方法2:针对特定用户设置)

sudo setquota -T -u zack 14d 14d /dev/sda1

参数解释:

14d = 14天(支持单位:d=天, h=小时, m=分钟, s=秒)

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值