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=秒)

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處: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的體系…