深入理解Linux檔案系統與紀錄檔檔案,快來看!

2020-10-23 14:00:16

一、inode與block

1.1 inode和block概述

■ 檔案資料包括原資訊與實際資料
■ 檔案儲存在硬碟上,硬碟最小儲存單位是「磁區」,每個磁區儲存512位元組

■ block(塊)

  • 連續的八個磁區組成一個block
  • 是檔案存取的最小單位

■ inode(索引節點)

  • 中文譯名為「索引節點」,也叫i節點
  • 用於儲存檔案元資訊

1.2 inode的內容 1-1

■ inode包含檔案的元資訊

  • 檔案的位元組數
  • 檔案擁有者的User ID(不包含檔名)
  • 檔案的Group ID
  • 檔案的讀、寫、執行許可權
  • 檔案的時間戳

■ 用stata命令可以檢視某個檔案的inode資訊

  • 範例:stat aa.txt‘’

1.3 inode的內容 1-2

■ Linux系統檔案三個主要的時間屬性

  • ctime(change time)
    • 最後一次改變檔案或目錄(屬性)的時間
  • atime(access time)
    • 最後一次存取檔案或目錄的時間
  • mtime(modif time)
    • 最後一次修改檔案或目錄(內容)的時間

1.4 inode的內容 1-3

■ 目錄檔案的結構

  • 目錄也是一種檔案
  • 目錄檔案的結構
檔名1inode號碼1
檔名2inode號碼1

每一行稱為一個目錄項
■ 每個inode都有一個號碼,作業系統用inode號碼來識別不同的檔案
■ Linux系統內部不使用檔名,而使用inode號碼來識別檔案
■ 對於使用者,檔名只是inode號碼便於識別的別稱

1.5 inode的號碼

■ 使用者通過檔名開啟檔案時,系統內部的過程

  1. 系統找到這個檔名對應的inode號碼
  2. 用過inode號碼,獲取inode資訊
  3. 根據inode資訊,找到檔案數資料所在的block1,讀出資料

■ 檢視iodine號碼的方法

  • ls -i命令:檢視檔名對應的inode號碼
    ls -i aa.txt
  • stat命令:檢視檔案inode資訊中的inode號碼
    stata aa.txt

1.6 檔案儲存小結

■ 硬碟分割區後的結構
在這裡插入圖片描述
■ 存取檔案的簡單流程
在這裡插入圖片描述

1.7 inode的大小

■ inode也會消耗硬碟空間

  • 每個inode的大小
  • 一般是128位元組或

■ 格式化檔案系統時確定inode的總數
■ 使用df -i命令可以檢視每個硬碟分割區的inode總數和已使用的數量

1.8 inode的特殊作用

■ 由於inode號碼與檔名分離,導致一些Unix/Linux系統具有以下的現象

  • 當檔案包含特殊字元,可能無法正常刪除檔案,直接刪除inode,也可以刪除檔案
  • 移動或重新命名檔案時,只改變檔名,不影響inode號碼
  • 開啟一個檔案後,系統通過inode號碼來識別該檔案,不在考慮檔名

二、硬連結與軟連結

2.1 連結檔案 1-1

■ 為檔案或目錄建立連線檔案
■ 連結檔案分類

軟連結硬連結
使用範圍失效仍舊可用
儲存範圍與原始檔案可以位於不同的檔案系統中必須與原始檔案在同一個檔案系統(如一個Linux分割區)內

2.2 連結檔案 1-2

■ 為檔案或目標建立連結檔案
■ 連結檔案分類

  • 硬連結
    ln 原始檔 目標位置
  • 軟連結
  • ln -s 原始檔或目錄...連結檔案或目標位置

三、恢復誤刪除的檔案

3.1 恢復EXT型別的檔案

■ 編譯安裝extundelete軟體包

  • 安裝依賴包
    • e2fsprogs-libs-1.41.12-18.el6.x86_64.rpm
    • e2fsprogs-devel-1.41.12-18.el6.x86_64.rpm

■ 模擬刪除並執行恢復操作

3.2 恢復XFS型別的檔案

■ xfsdumo命令格式
xfsdump -f 備份存放位置 要備份的路徑或裝置檔案

■ xfsdump 備份級別(預設為0)

  • 0:安全備份
  • 1-9:增量備份

■ xfsdump 常用選項:-f 、-L、-M、-s

■ xfsdump 命令格式
xfsdump -f 恢復檔案的位置 存放恢復後檔案的位置

■ 模擬刪除並執行恢復操作

3.3 xfsdump使用限制

■ 只能備份已掛載的檔案系統
■ 必須使用root的許可權才能操作
■ 只能備份CFS檔案系統
■ 備份後的資料只能讓xfsrestore解析
■ 不能備份兩個具有相同UUID的檔案系統

四、分析紀錄檔檔案

4.1 紀錄檔檔案 4-1

■ 紀錄檔的功能

  • 用於記錄系統、程式執行中發生的各種事情
  • 通過閱讀紀錄檔,有助於診斷和解決系統故障

■ 紀錄檔問價你的分類

  • 核心及系統紀錄檔

    • 由系統服務rsyslog 統一進行管理,紀錄檔格式基本相似
  • 使用者紀錄檔

    • 記錄系統使用者登入及退出系統的相關資訊
  • 程式紀錄檔

    • 由各種應用程式獨立管理的紀錄檔檔案,記錄格式不統一

4.2 紀錄檔檔案 4-2

■ 紀錄檔儲存位置

  • 預設位於:/var/log 目錄下

■ 主要紀錄檔檔案介紹
在這裡插入圖片描述

4.3 核心及系統紀錄檔 4-3

■ 由系統服務rsyslog 統一管理

  • 軟體包:rsyslog-7.4.7-16.el7.x86_64
  • 主要程式:/sbin/rsyslogd
  • 組態檔:/etc/rsyslog.conf

4.4 核心及系統紀錄檔 4-4

■ 紀錄檔訊息的級別

級別訊息級別說明
0EMERG緊急會導致主機系統不可用的情況
1ALERT警告必須馬上採取措施解決的問題
2CRIT嚴重比較嚴重的情況
3ERR錯誤執行出現錯誤
4WARNING提醒可能會影響系統功能的事件
5NOTICE注意不會影響系統但值得注意
6INFO資訊一般資訊
7DEBUG偵錯程式或系統偵錯資訊等

4.5 核心及系統紀錄檔 4-5

■ 紀錄檔記錄的一般格式
在這裡插入圖片描述

4.6 使用者紀錄檔分析

■ 儲存了使用者登入、退出系統等相關資訊

  • /var/log/lastlog:最近的使用者登入事件
  • /var/log/wtmp:使用者登入,登出及系統開,關機事件
  • /var/log/utmp:當前登入的每個使用者的詳細資訊
  • /var/log/secure:與使用者驗證相關的安全性事件

■ 分析工具
- users、who、w、last、lastb

4.7 程式紀錄檔分析

■ 由相應的應用程式獨立進行管理

  • Web服務:/var/log/httpd/
    access_log、error_log
  • 代理服務:/var/log/squid/
    access_log、cache_log
  • FTP服務:/var/log/xferlog

■ 分析工具

  • 文字檢視,grep過濾檢索,Webmin管理套件中檢視
  • awk、sed 等文字過濾、格式化編輯工具
  • Webalizer、Awstats等專用紀錄檔分析工具

4.8 紀錄檔管理策略

■ 及時作好備份和歸檔
■ 延長紀錄檔儲存期限
■ 控制紀錄檔存取許可權

  • 紀錄檔中可能會包含各類敏感資訊,如賬戶、口令等

■ 集中管理紀錄檔

  • 將伺服器的紀錄檔檔案發到統一的紀錄檔檔案伺服器
  • 便於紀錄檔資訊的統一收集、整理和分析
  • 杜絕紀錄檔資訊的意外丟失、惡意篡改或刪除