目的,限制用户磁盘空间占用,例如给用户限制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=秒)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/87100.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/87100.shtml
英文地址,请注明出处:http://en.pswp.cn/bicheng/87100.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【网络】Linux 内核优化实战 - net.ipv4.tcp_rmem 和 net.core.rmem_default 关系

net.ipv4.tcp_rmem 和 net.core.rmem_default 都是 Linux 内核中控制网络接收缓冲区的参数,但它们的作用范围、优先级和使用场景存在明显区别。以下是详细对比: 核心区别 参数net.ipv4.tcp_rmemnet.core.rmem_default作用协议仅针对 TCP 协议针对 所有网络协议(TCP、UDP 等…

设计模式精讲 Day 14:命令模式(Command Pattern)

【设计模式精讲 Day 14】命令模式(Command Pattern) 文章内容 在“设计模式精讲”系列的第14天,我们来学习命令模式(Command Pattern)。命令模式是一种行为型设计模式,它将请求封装为对象,从而…

手机射频功放测试学习(二)——手机线性功放的静态电流和小信号(S-Parameter)测试

目录 一、概要 二、LPA的电流测试 1、LPA的泄漏电流测试 手动测试步骤如下: 自动化测试: 2、LPA的静态电流测试 手动测试步骤如下: 自动化测试: 三、LPA的S-Parameter测试 1、矢量网络分析仪校准 2、LPA的S参数手动测试步骤: 3、LPA的S参数自动测试步骤: 四…

基础算法合集-图论

本文将介绍数据结构图论部分中常见的算法 单源最短路径问题(用来计算一个点到其他所有顶点的最短路径) Dijkstra(n*n) 1. 初始化: 先找出从源点V0到各终点Vk的直达路径(V0,Vk), 即通过一条弧到达的路径 2. 选择: 从这些路径中找出一条长度最短的路径(V0,u) 3. 更新: 然后对其余…

vue-i18n 插件打包解析失效问题记录

vue-i18n 插件打包解析失效问题记录 开发环境中没有问题的,但打包发布之后就不行了,显示的就是模板字符串 // An highlighted block const messages {en: {step: {stepDesc1: Scan,stepDesc2: Analyze,stepDesc3: Result}},zh: {step: {stepDesc1: 扫描…

数据可视化 - 单子图

一、认识单子图 import matplotlib.pyplot as plt import numpy as np import pandas as pdplt.figure(num单子图, figsize(12, 8), facecolorw) # 中文字体 plt.rcParams[font.sans-serif] KaiTi # 负号显示 plt.rcParams[axes.unicode_minus] False# 2行,1列&a…

服务器上设置了代理之后,服务器可以访问外网,但是不能访问服务器本地。如何解决

你在服务器上设置了代理后,发现: 可以访问外网不能访问服务器本地地址(如 localhost、127.0.0.1、内网IP) 这是代理设置中常见的问题,尤其是当你设置了全局 HTTP/HTTPS 代理时。本地访问也会被强制走代理&#xff0c…

mysql启动报错:Can‘t connect to local MySQL server through socket

文章目录 一、报错内容二、解决方法 一、报错内容 在linux上启动mysql时报错 [rootlocalhost bin]# ./mysql -u root -p Enter password: ERROR 2002 (HY000): Cant connect to local MySQL server through socket /tmp/mysql.sock (2)执行以上命令后报错,并且也…

C# Avalonia 绑定模式 Mode 的区别,它们的应用场景

C# Avalonia 绑定模式 Mode 的区别,它们的应用场景 文章目录 1. **Default(默认模式)**2. **OneTime(一次性绑定)**3. **OneWay(单向绑定)**4. **TwoWay(双向绑定)**5. *…

【OpenGL学习】(七)纹理单元

【OpenGL学习】(七)纹理单元 OpenGL的纹理单元(Texture Unit)是GPU中用于管理和组织纹理资源的逻辑单元,它允许开发者在渲染过程中同时使用多个纹理,并通过采样器(Sampler)在着色器…

Ubuntu 下降 Linux Kernel 的版本备忘

此处以 ubuntu 22.04 为示例系统,来降低其 Linux kernel 的版本。 1. 降低 Linux kernel 版本 在 Ubuntu 22.04 上降低 Linux 内核版本的步骤如下所示。 步骤 1:检查当前内核版本 uname -r 确认当前运行的内核版本。 步骤 2:查看已安装的…

Python 数据分析与机器学习入门 (八):用 Scikit-Learn 跑通第一个机器学习模型

引言:初识 Scikit-Learn Scikit-learn 是 Python 机器学习领域的黄金标准库。它构建在 NumPy, SciPy 和 Matplotlib 之上,提供了大量用于分类、回归、聚类和降维等任务的算法。Scikit-learn 广受欢迎的原因在于其三大核心优势: 一致的 API 设…

FPGA芯片的配置方法

FPGA芯片的配置方法 文章目录 FPGA芯片的配置方法1. FPGA配置概述2. 主动配置模式3. 被动配置模式4. JTAG配置模式5. 总结 1. FPGA配置概述 当我们在PC机上的FPGA软件集成开发环境中完成我们的设计后,必须通过某种形式将其映射到FPGA芯片硬件中,这样FPG…

通过python+openCV实现对图片中箭头方向的判断

在项目中遇到一个需求,需要对图片中的箭头方向进行判断,本来是使用YOLOv8算法来实现的,但是发现YOLO的效果对箭头的识别效果很差,不管是分类算法还是检测算法,效果都不理想,因此试一试通过openCV对箭头方向进行判断,发现效果还可以。 下面附上完整的代码和原理。 文章目…

React 第六十六节Router中 StaticRouter使用详解及注意事项

前言 StaticRouter 是 React Router 为服务器端渲染(SSR)提供的专用路由组件。它允许在服务器环境中处理路由逻辑,确保服务器和客户端渲染结果一致。下面我将详细解释其用途、原理并提供完整的代码示例。 一、StaticRouter 的核心用途 服务…

嵌入模型与大语言模型的区别:从结构到应用的深度解析

嵌入模型与大语言模型的区别:从结构到应用的深度解析 在当今自然语言处理(NLP)技术蓬勃发展的背景下,嵌入模型(Embedding Model) 和 大语言模型(Large Language Model, LLM) 成为了…

el-date-picker赋值不成功

vue使用element 的时间组件el-date-picker赋值不成功,点击后才回显数据 解决: 组件未渲染完成之前赋值了,在onMounted函数内赋值,或者在确保组件已经渲染后赋值

深入浅出JavaScript中的私有变量与特权方法

深入浅出JavaScript中的私有变量与特权方法:封装的艺术 在JavaScript的开发实践中,私有变量和特权方法是实现数据封装和代码安全性的核心工具。它们不仅帮助我们隐藏敏感数据,还能通过闭包和作用域机制构建更健壮的代码结构。本文将从基础概…

ReactNative【实战系列教程】我的小红书 2 -- 快捷登录、手机号密码登录

最终效果 技术要点 用户协议 – 打开本地浏览器 点击后,直接打开本地浏览器浏览网页 // 最终需修改为 《用户协议》 的网址Linking.openURL("https://www.baidu.com");手机号输入框的 344 展示 onChangeText{(text: string) > {setPhone(formatPhone(…

【赵渝强老师】OceanBase数据库从零开始:Oracle模式

这里我们来介绍一下新上线的课程《OceanBase数据库从零开始:Oracle模式》,本门课程共11章。 视频讲解如下 【赵渝强老师】OceanBase从零开始(Oracle模式) 下面详细介绍一下每一章的主要内容: 第01章-OceanBase的体系…