【Linux】-- 高級文件系統管理

来源:http://www.cnblogs.com/weiser/archive/2017/10/15/7673284.html
-Advertisement-
Play Games

這是本人第一次寫博客,若有什麼錯誤的地方或者不對的地方,還請各位不吝賜教!!! 一、磁碟配額的概念 由於Linux是一個多用戶管理的操作系統,而Linux預設情況下並不限制每個用戶使用磁碟空間的大小,假如某個用戶疏忽或者惡意占滿磁碟空間,將導致系統磁碟無法寫入甚至崩潰;為了保證系統磁碟的有足夠的剩餘 ...


 

這是本人第一次寫博客,若有什麼錯誤的地方或者不對的地方,還請各位不吝賜教!!!

 

一、磁碟配額的概念

 

由於Linux是一個多用戶管理的操作系統,而Linux預設情況下並不限制每個用戶使用磁碟空間的大小,假如某個用戶疏忽或者惡意占滿磁碟空間,將導致系統磁碟無法寫入甚至崩潰;為了保證系統磁碟的有足夠的剩餘空間,我們需要對用戶和組進行磁碟空間使用限制。

 

磁碟配額限制類型:

  1.     限制用戶和組對磁碟空間的使用量

  2.     限制用戶和組在磁碟內創建文件的個數

 

磁碟配額限制級別:

  1. 軟限制:低級限制,此限制可以突破,突破時會被警告,超出部分會有寬限天數,寬限天數到期後超出部分被清空,軟限制不能超過硬限制
  2. 硬限制:絕對限制,此限制不會被突破,達到指定限制後無法使用更多空間
  3. 寬限天數:當有數據超過軟限制後,超出部分會被計時,寬限天數到期後超出部分數據將被清空,寬限天數預設是7天

 

註:磁碟配額是針對分區進行設置的,無法實現“某用戶在系統中共計只能使用50MB磁碟空間”只能設置某用戶在/home分區能使用30M這樣的限制。切記:磁碟配額是針對分區的!

 

二、磁碟配額開啟條件

 

內核是否支持磁碟配額?

#grep "CONFIG_QUOTA" /boot/config-2.6.32-431.el6.x86_64

 

       磁碟配額相關命令是否安裝?

       #rpm –q quota

 

三、磁碟配額實驗規劃

 

   準備足夠大小的分區,要遠大於實驗的需求空間

   創建實驗用戶和組

         用戶:cj、bd、xz、

         組:thot

   磁碟配額規劃

         thot:硬:500M     軟:450M              文件數不限制

         cj:  硬:50M 軟:40M         硬:10個 軟:8個

         bd:  硬:250M    軟:200M       文件數不限制

         xz:  硬:250M     軟:200M       文件數不限制

  寬限天數修改為8天

 

四、磁碟配額實驗流程

  1. 查看系統是否支持磁碟配額

    #grep "CONFIG_QUOTA" /boot/config-2.6.32-431.el6.x86_64

 

   2. 查看分區的掛載屬性是否滿足

    dumpe2fs –h  /dev/sdb1     | grep "Default mount options"

  查看結果中是否包含usrquota、grpquota兩個掛載屬性?

  如果沒有兩個掛載屬性,則需要重新掛載並添加兩個屬性,並寫入自動掛載

 

   3. 創建分區、用戶、用戶組

    分區大小要遠大於實驗要求大小,避免影響實驗結果

    用戶:cj、bd、xz

    組:thot

    註:創建用戶時,指定thot為初始組

 

   4. 生成用戶和組的配置文件

    quotacheck     選項 分區名

      -a    掃描/etc/mtab文件中所有啟用磁碟配額功能的分區。如果加入此參數,命令後面就不需要加入分區名了

           -u    建立用戶配額的配置文件,即生成aquota.user

           -g    建立組配額的配置文件,即aquota.group

           -v    顯示掃描過程

           -c    清除原有的配置文件,重新建立新的配置文件

    註:若報錯沒有許可權生成文件,則需要關閉SELinux

 

   5. 編輯配置文件、設置指定限制大小

    edquota   選項 用戶名或組名

        -u    用戶名

        -g    組名

        -t     設定寬限時間

             -p    複製磁碟配額規則,不需要每一個用戶或者組都手動設置一遍

            #     edquota  -p    模板用戶  -u    目標用戶

    註:配置文件中所寫大小預設單位KB

 

   6. 啟動和關閉磁碟配額

     啟動:

       quotaon   選項       分區名

              -a    根據/etc/mtab文件啟動所有分區的磁碟配額(不寫分區名)

              -u    啟動用戶的磁碟配額

              -g    啟動組的磁碟配額

              -v    顯示啟動過程信息

    關閉:

      quotaoff  選項       分區名

              -a    根據/etc/mtab文件關閉所有分區的磁碟配額(不寫分區名)

              -u    關閉用戶的磁碟配額

              -g    關閉組的磁碟配額

             -v    顯示啟動過程信息

 

   7. 查看磁碟配額的信息

     查詢指定用戶和組的配額:

            quota     選項 用戶或組名

               -u    用戶名

               -g    組名

               -v    顯示詳細信息

                    -s    以常見單位顯示大小

  8. 查詢指定分區的磁碟配額:

     repquota         選項 分區名

               -u    查詢用戶配額

               -g    查詢組配額

               -v    顯示詳情

                    -s    以常見單位顯示

 

   9. 驗證磁碟配額是否生效

    切換到執行用戶,以預設用戶身份進行文件創建(su)

     測試工具:

            dd 生成指定大小的文件(dd命令詳解見附件)

            dd if=/dev/zero of=/分區名/testfile bs=1M count=60

    註意:用戶的測試需要切換到指定用戶身份,而組磁碟配額的驗證需要?

 

   10. 非交互設置磁碟配額

    setquota   -u    用戶名     軟(容)  硬(容) 軟(數)  硬(數) 分區名

    註:同樣,這樣的非互動式的命令更適合寫入腳本,而且,假如有很多用戶的磁碟配額配置相同也可以用複製來實現。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 【代碼】 輸出格式為:時間 記憶體使用大小 ...
  • 參考文檔: 本文涉及rabbitmq的基本安裝,基本的集群配置。 一.環境 1. 操作系統 CentOS-7-x86_64-Everything-1511 2. 版本 haproxu版本:1.7.7 erlang版本:20.0 rabbitmq版本:rabbitmq-server-3.6.10 ht ...
  • 小生接觸 Linux 系統時間不長,想解決linux系統ftp安裝及部署問題,折騰了大半天,終於弄出來了,將各路高手的配置方法綜合了一下,如有不對之處,歡迎各位看客指正,感謝! 一、聲明: 本文采用操作系統版本: Centos 7 Linux系統 版本源:CentOS-7-x86_64-DVD-17 ...
  • Linux grep命令 1、簡介 grep是Linux下的一種強大的文本搜索工具,使用正則表達式進行文本搜索,並把匹配的行列印出來。 2、用法 用法: grep [選項]... PATTERN [FILE]...在每個 FILE 或是標準輸入中查找 PATTERN。預設的 PATTERN 是一個基 ...
  • zabbix3.0安裝註意: 1、PHP要5.4版本以上 2、防火牆關閉 3、selinux關閉 臨時關閉selinux: setenforce 0 //設置SELinux 成為permissive模式 徹底禁用selinux: 使用root用戶,vim /etc/sysconfig/selinux ...
  • 一、需求分析 1.前端需支持更大的訪問量,單台Web伺服器已無法滿足需求了,則需擴容Web伺服器; 2.雖然動態內容可交由後端的PHP伺服器執行,但靜態頁面還需要Web伺服器自己解析,那是否意味著多台Web伺服器都需要在各自的系統中都存有一份靜態頁面數據呢?那麼如果能將靜態頁面集中存放,所有Web服 ...
  • 1、軟體包管理簡介 1.軟體包分類 源碼包 腳本安裝包 二進位包(RPM包、系統預設包) 2.源碼包 源碼包的優點是: 開源,如果有足夠的能力,可以修改源代碼 可以自由選擇所需要的功能 軟體設計編譯安裝,所以更加適合自己的系統,更加穩定有效 卸載方便 源碼包的缺點: 安裝過程步驟較多,尤其是安裝較大 ...
  • 什麼是HTML l HTML(HyperText Mark-up Language)即超文本標記語言或超文本標簽語言。 l 何為超文本:“超文本”可以實現頁面內可以包含圖片、鏈接,甚至音樂、程式等。 l 網頁文件本身是一種文本文件,它通過標記符號來標記要顯示的網頁中的各個部分。 l 何為標記:當瀏覽 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...