深入理解Linux文件系統與日誌分析(十)

深入理解Linux文件系統

在處理 Linux 系統出現的各種故障時,故障的症狀是最易發現的,而導致這一故障的原 因纔是最終排除故障的關鍵。熟悉Linux 系統中常見的日誌文件,瞭解一般故障的分析與解 決辦法,將有助於管理員快速定位故障點、“對症下藥”、並及時解決各種系統問題。另外, Linux 系統中通過分區、格式化來創建文件系統,而文件系統的運行又與 block 和 inode有關。



知識結構:

  • inode與block

  • 硬鏈接與軟鏈接

  • 日誌文件的分類

  • 用戶日誌與程序日誌

(一)inode與block

inode和block概述

  • 文件數據包括元信息與實際數據

  • 文件存儲在硬盤上,硬盤最小存儲單位是“扇區”,每個扇區存儲512字節

  • block(塊)

    連續的八個扇區組成一個block

    是文件存取的最小單位

  • Inode(索引節點)

    中文譯名爲“索引節點”,也叫i節點

    用於存儲文件元信息

一個文件必須佔用一個 inode,但至少佔用一個block

圖片1.png

inode包含文件的雲信息

  • 文件的字節數

  • 文件擁有者的User ID

  • 文件的Group ID

  • 文件的讀,寫,執行權限

  • 文件的時間戳

  • ...

用stat命令可以查看某個文件的inode信息

[root@localhost etc]# cd /opt
[root@localhost opt]# touch 11.txt
[root@localhost opt]# ls
11.txt  rh
[root@localhost opt]# stat 11.txt 查看文件的inode信息

圖片1.png

Linux系統文件三個主要的時間屬性

  • ctime:最後一次改變文件或目錄(屬性)的時間

  • atime:最後一次訪問文件或目錄的時間

  • mtime:最後一次修改文件或目錄(內容)的時間

目錄文件的結構

  • 目錄也是一種文件

  • 目錄文件的結構

每個inode都有一個號碼,操作系統用inode號碼來識別不同的文件

Linux系統內部不使用文件名,而使用inode號碼來識別文件

對於用戶來說,文件名知識inode號碼便於識別的別稱

圖片1.png

inode的號碼

用戶通過文件名打開文件是,系統內部的過程

1,系統找到這個文件名對應的inode號碼

2,通過inode號碼,獲取inode信息

3,根據inode信息,找到文件數據所在的block,讀出數據

圖片1.png

圖片1.png

查看inode號碼的方法

  • ls -i命令:查看文件名對應的inode號碼

  • stat命令:查看文件inode信息中的inode號碼

[root@localhost opt]# ls -i 11.txt  查看inode號碼
或者
[root@localhost opt]# stat 11.txt

圖片1.png

inode的大小

  • inode也會消耗硬盤空間,每個inode的大小,一般是128字節或256字節

  • 格式化文件系統時確定inode的總數

  • 使用df -i命令可以查看每個硬盤分區的inode總數和已經使用的數量

[root@localhost opt]# df -i  查看磁盤分區中的inode總數和已經使用的數量

圖片1.png

inode的特殊作用

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

  • 當文件名包含特殊字符,可能無法正常刪除文件,直接刪除inode,也可以刪除文件

[root@localhost opt]# ls -i 11.txt   查看文件inode號碼
34962592 11.txt
[root@localhost opt]# find ./* -inum 34962592 -delete    根據inode號碼進行刪除文件

圖片1.png

  • 移動或重命名文件時,只改變文件名,不影響inode號碼

  • 打開一個文件後,系統通過inode號碼來識別該文件,不再考慮文件名

(二)硬鏈接與軟鏈接

爲文件或目錄建立鏈接文件

文件類型

  • 硬鏈接:ln 源文件 目標位置

一般情況下,文件名和 inode 號碼是一一對應關係,每個 inode 號碼對應一個文件名。 但是 Linux 系統允許多個文件名指向同一個 inode 號碼。這意味着,可以用不同的文件名訪 問同樣的內容

  • 軟鏈接:ln -s 源文件或目錄..   鏈接文件或目標位置

軟鏈接就是再創建一個獨立的文件,而這個文件會讓數據的讀取指向它連接的那個文件 的文件名。

圖片1.png

(三)日誌文件的分類

日誌文件的功能

  • 用於記錄系統,程序運行中發生的各種事件

  • 通過閱讀日誌,有助於診斷和解決系統故障

日誌文件的分類

  • 內核及系統日誌:有系統服務syslog統一進行管理,日誌格式基本相似

  • 用戶日誌:記錄系統用戶登錄及退出系統的相關信息

  • 程序日誌:由各種應用程序獨立管理的日誌文件,記錄格式不統一

日誌保存位置

  • 默認位於:/var/log目錄下

主要日誌文件介紹

圖片1.png

內核及系統日誌

由系統服務rsyslogd統一管理

  • 軟件包:rsyslog-7.4.7-16.el7.x86_64

  • 主要程序:/sbin/rsyslogd

  • 配置文件:/etc/rsyslog.conf

日誌消息的級別

圖片1.png

日誌記錄的一般格式

圖片1.png

(四)用戶日誌與程序日誌

用戶日誌

保存了用戶登錄,退出系統等相關信息

  • 最近的用戶登錄時間:/var/log/lastlog

  • 用戶登錄,註銷及系統開關機事件:/var/log/wtmp

  • 當前登錄的每個用戶的詳細信息:/var/log/utmp

  • 與用戶驗證相關的安全性事件:/var/log/secure

分析工具

users,who,w,last,lastb

圖片1.png

微信截圖_20190827233608.png

程序日誌分析

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

  • 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等專用日誌分析工具

1,在Linux系統中安裝一個httpd服務,安裝完成之後開啓服務並關閉防火牆,便於其他主機連接

微信截圖_20190827235603.png

微信截圖_20190827235723.png

2,用另一臺主機訪問此臺主機的ip地址(192.168.109.133)訪問成功

微信截圖_20190827235826.png

3,切換目錄到/var/log/httpd中我們可以看到access_log日誌文件,用cat查看內容正是訪問的主機的ip的地址信息

微信截圖_20190828000032.png

微信截圖_20190828000128.png

日誌管理策略

及時做好備份和歸檔

延長日誌保存期限

控制日誌訪問權限

  • 日誌中可能會包含各類敏感信息,如賬戶,口令等

集中管理日誌

  • 將服務器的日誌文件發到統一的日誌文件服務器

  • 便於日誌信息的統一收集,整理和分析

  • 杜絕日誌信息的意外丟失,惡意篡改或刪除



感謝您的閱讀

謝謝!!!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章