目錄
一、inode與block
1.1inode和block概述
1.1.1inode和block的關系
1.2inode的內容
1.2.1inode包含檔案的元資訊
1.2.2linux檔案系統的三個時間戳
1.2.3目錄檔案結構
1.3inode的號碼
1.3.1 硬碟磁區后的結構
1.4inode的大小
1.5inode特點
1.6軟連接與硬鏈接
1.7恢復誤洗掉的xfs檔案
1.8EXT型別檔案恢復誤洗掉
二、分析日志檔案
2.1日志檔案的分類
2.2.日志檔案的格式
2.3常見日志檔案
2.4日志檔案分析
2.4.1內核及系統日志組態檔及日志訊息等級
2.4.2用戶日志分析
2.4.3程式日志分析
2.5日志管理
一、inode與block
1.1inode和block概述
-
檔案存盤在硬碟上,硬碟的最小存盤單位叫做"扇區" ( sector )每個扇區存盤512位元組,
-
作業系統讀取硬碟的時候,不會一個個扇區地讀取,這樣效率太低,而是一次性連續讀取多個扇區,即一次性讀取一個"塊" ( block ),這種由多個扇區組成的"塊",是檔案存取的最小單位,"塊"的大小 ,最常見的是4KB ,即連續八個扇區組成一個塊,
-
檔案資料存盤在"塊”中,那么還必須找到一個地方存盤檔案的元資訊,比如檔案的創建者、檔案的創建日期、檔案的大小等等,這種存盤檔案元資訊的區域就叫做inode(索引節點),也叫i節點,
-
一個檔案必須占用一個inode ,至少占用一個block,
1.1.1inode和block的關系

1.2inode的內容
1.2.1inode包含檔案的元資訊
inode包含很多檔案的元資訊,例如:
-
檔案的位元組數
-
檔案擁有者的User ID
-
檔案的Group ID
-
檔案的讀、 寫、執行權限
-
檔案的時間戳
-
檔案型別
-
鏈接數
-
有關檔案的其他資料
PS:inode不包含檔案名
可以用stat命令,查看某個檔案的inode資訊
示例:
[root@localhost ~]# stat /etc/passwd

1.2.2linux檔案系統的三個時間戳
-
ctime(change time):最后一次改變檔案或目錄的時間,例如執行chmod、chown
-
atime(access time):是最近一次訪問檔案或目錄的時間
-
mtime(modify time):是最后一次修改檔案或目錄(內容)的時間
1.2.3目錄檔案結構
inode不包含檔案名,檔案名是存放在目錄當中的,Linux系統中一切皆檔案,因此目錄也是一種檔案,

-
每個inode都有一個號碼,作業系統用inode號碼來識別不同的檔案,linux系統內部使用不同檔案名,而使用inode來識別檔案, 對于系統來說,檔案名只是inode號碼便于識別的別稱,檔案名和inode號碼是一 一對應關系,每個inode號碼對應一個檔案名,.
1.3inode的號碼
-
表面上,用戶通過檔案名,打開檔案
-
實際上,系統內部這個程序分成三步:
-
系統找到這個檔案名對應的inode號碼
-
通過inode號碼 ,獲取inode資訊
-
根據inode資訊,找到檔案資料所在的block
-
-
讀出資料使用Is -i命令,可以看到檔案名對應的inode號碼: ls -i /etc/passwd
?[root@localhost ~]# ls -i /etc/passwd 69209681 /etc/passwd
-
使用stat命令,查看檔案inode資訊中的inode號碼: stat /etc/passwd
[root@localhost ~]# stat /etc/passwd

1.3.1 硬碟磁區后的結構

- 訪問檔案的簡單流程:
當一個用戶在Linux系統中試圖訪問一個檔案時,系統會先根據檔案名去查找它的 inode ,看該用戶是否具有訪問這個檔案的權限
如果有,就指向相對應的資料block
如果沒有,就回傳Permission denied

1.4inode的大小
inode也會消耗硬碟空間,每個inode的大小,一般是128位元組或256位元組
inode的總數,在格式化時就確定
查看每個硬碟磁區的inode總數和已經使用的數量,可以使用命令: df -i
[root@localhost ~]# df -i 檔案系統 Inode 已用(I) 可用(I) 已用(I)% 掛載點 /dev/mapper/centos-root 26214400 145278 26069122 1% / devtmpfs 221158 446 220712 1% /dev tmpfs 225137 1 225136 1% /dev/shm tmpfs 225137 646 224491 1% /run tmpfs 225137 16 225121 1% /sys/fs/cgroup /dev/sda1 524288 328 523960 1% /boot /dev/mapper/centos-home 38400000 10 38399990 1% /home tmpfs 225137 9 225128 1% /run/user/42 tmpfs 225137 1 225136 1% /run/user/0 ? ?
1.5inode特點
由于inode 號碼與檔案名分離,導致Linux系統具備以下幾種特有的現象:
-
檔案名包含特殊字符,可能無法正常洗掉,這時直接洗掉inode,能夠起到洗掉檔案的作用;
洗掉inode號的方法:
法一: find 檔案位置 -inum inode號碼 -exec rm -i {} \;
法二: find 檔案位置 -inum inode號碼 -delete
[root@localhost test]# ls -i /test/a.txt 67 /test/a.txt [root@localhost test]# find /test/ -inum 67 -delete 法一 [root@localhost test]# ls /test/ [root@localhost test]# [root@localhost test]# touch 2.txt [root@localhost test]# ls -i 2.txt 68 2.txt [root@localhost test]# find /test/ -inum 68 -exec rm -i {} \; 法二 rm:是否洗掉普通空檔案 "/test/2.txt"?y [root@localhost test]# -
mv移動檔案或重命名檔案,只是改變檔案名,不影響inode 號(這里指的是非掛載磁盤);


-
打開一個檔案以后,系統就以inode號碼來識別這個檔案,不再考慮檔案名,
-
檔案資料被修改保存后,會生成一個新的inode 號碼,

-
cp命令與inode:
-
分配一個空閑的inode號
-
在inode表中生成新條目在目錄中創建一個目錄項
-
將名稱與inode編號關聯拷貝資料生成新的檔案
-
-
rm命令與inode
-
鏈接數遞減,從而釋放的inode號可以被重用把資料塊放在空閑串列中
-
洗掉目錄項
-
資料實際上不會馬上被洗掉,但當另一個檔案使用資料塊時將被覆寫
-
1.6軟連接與硬鏈接
創建格式:
ln [-s] 源檔案或目錄...鏈接檔案或目標位置(加-s為軟連接,不加為硬鏈接)
| 操作和范圍 | 軟鏈接 | 硬鏈接 |
|---|---|---|
| 洗掉原始檔案 后 | 失效 | 仍然可用 |
| 使用范圍 | 適用于檔案或目錄 | 可用于檔案 |
| 保存位置 | 與原始檔案可以位于不同的檔案系統 中 | 必須與原始檔案在同一個檔案系統(如一個Linux分 區)內 |
1.7恢復誤洗掉的xfs檔案
-
Centos 7系統默認采用xfs型別的檔案,xfs型別的檔案可使用xfsdump 與xfsrestore 工具進行備份恢復,
-
xfsdump的備份級別有兩種:
-
0表示完全備份;
-
1-9表示增量備份,
-
xfsdump的備份級別默認為0,
-
xfsdump格式:
xfsdump -f 備份存放位置 要備份的路徑或設備檔案
-
xfsdump常用選項
常用選項 功能 -f 指定備份檔案目錄 -L 指定標簽session label -M 指定設備標簽media label -S 備份單個檔案,-s后面不能直接跟路徑 -
xfsdump使用限制
-
只能備份已掛載的檔案系統
-
必須使用root的權限才能操作
-
只能備份XFS檔案系統
-
備份后的資料只能讓xfsrestore決議
-
不能備份兩個具有相同UUID的檔案系統(可用blkid命令查看)
-
-
實體演示
-
添加一塊新的硬碟(參考此篇博客),創建新的磁區,格式化并掛載



-
在掛載目錄/mnt下創建檔案

-
安裝xfsdump,指定備份目錄和需要備份的磁盤


-
洗掉檔案,做恢復測驗

1.8EXT型別檔案恢復誤洗掉
一、安裝依賴包:
-
e2fsprogs-libs-1.41.12- 18. el6.x86_ 64.rpm
-
e2fsprogs-devel-1 41.12-18.el6.x86_ 64.rpm
二、 配置、編譯及安裝
安裝依賴包:
-
extundelete-0.2.4.tar.bz2
三、具體步驟:
-
安裝依賴包

-
下載安裝包并解壓


-
編譯安裝


-
測驗前準備




-
模擬洗掉資料并恢復
可以使用extundelete /devlsdb1 --inode 2查看檔案系統/devlsdb1下存在哪些檔案,
具體的使用情況,其中--inode 2代表從i節點為2的檔案開始查看,一般檔案系統格式化掛載之后,i節點是從2開始的,2代表該檔案系統最開始的目錄,
在恢復前需要先解掛載





二、分析日志檔案
日志保存位置默認位于:/var/log目錄下
日志的功能:
用于記錄系統、程式運行中發生的各種事件
通過閱讀日志,有助于診斷和解決系統故障
2.1日志檔案的分類
-
內核及系統日志:這種日志資料由系統服務rsyslog統一管理,根據其主組態檔/etc/rsyslog.conf中的設定決定將內核訊息及各種系統程式訊息記錄到什么位置
-
用戶日志:這種日志資料用于記錄Linux系統用戶登錄及退出系統的相關資訊,包括用戶名、登 錄的終端、登錄時間、來源主機、正在使用的行程操作等
-
程式日志:有些應用程式會選擇由自己獨立管理一份日志檔案(而不是交給rsyslog服務管理),用于記錄本程式運行程序中的各種事件資訊
2.2.日志檔案的格式

-
事件產生的時間,
-
產生事件的服務器的主機名,
-
產生事件的服務名或程式名,
-
事件的具體資訊,
2.3常見日志檔案
-
內核及公共訊息日志 : /var/log/messages: 記錄Linux內核訊息及各種應用程式的公共日志資訊,包括啟動、I0錯誤、網路錯誤、程式故障等, 對于未使用獨立日志檔案的應用程式或服務,一般都可以從該日志檔案中獲得相關的事件記錄資訊,

-
計劃任務日志
/var/log/ cron : 記錄crond計劃任務產生的事件資訊,

-
系統引導日志 :
/var/ log/ dmesg: 記錄Linux系統在引導程序中的各種事件資訊,

-
郵件系統日志 :
/var/log/maillog:記錄進入或發出系統的電子郵件活動,
-
用戶登錄日志 :
-
/var/log/secure: 記錄用戶認證相關的安全事件資訊,
-
/var/log/lastlog: 記錄每個用戶最近的登錄事件,二進制格式
-
/var/log/wtmp: 記錄每個用戶登錄、注銷及系統啟動和停機事件,二進制格式
-
/var/ run/btmp: 記錄失敗的、錯誤的登錄嘗試及驗證事件,二進制格式
-
2.4日志檔案分析
2.4.1內核及系統日志組態檔及日志訊息等級
[root@localhost mnt]# cat /etc/rsyslog.conf 查看/etc/rsyslog.conf組態檔 * . info;mail.none;authpriv.none;cron.none /var/log/messages ? *.info #表示info等級及以上的所有等級的資訊都寫到對應的日志檔案里 mail.none #表示某事件的資訊不寫到日志檔案里(這里比如是郵件)
-
Linux系統內核日志訊息的優先級別(數字等級越小,優先級越高,訊息越重要)
級別 訊息 級別 具體描述 0 EMERG 緊急 會導致主機系統不可用的情況 1 ALERT 警告 必須馬上采取措施解決的問題 2 CRIT 嚴重 比較嚴重的情況 3 ERR 錯誤 運行出現錯誤 4 WARNING 提醒 可能影響系統功能,需要提醒用戶的重要事件 5 NOTICE 注意 下會影響正常功能,但是需要注意的事件 6 INFO 資訊 一般資訊 7 DEBUG 除錯 程式或系統除錯資訊等
2.4.2用戶日志分析
在wtmp、btmp、 lastlog等日志檔案中 ,保存了系統用戶登錄、 退出等相關的事件訊息, 但是這些檔案都是二進制的資料檔案,不能直接使用tail、less等文本查看工具進行瀏覽,需要使用who、w、users、 last和lastb等用戶查詢命令來獲取日志資訊
2.4.2.1查詢當前登錄的用戶情況—users、who、w命令



2.4.2.2查詢用戶登錄的歷史記錄—last、lastb命令
-
last命令—用于查詢成功登錄到系統的用戶記錄

-
lastb命令—用于查詢登錄失敗的用戶記錄

2.4.3程式日志分析
程式日志由相應的應用程式獨立進行管理
-
Web服務:/var/log/httpd/
-
access_log ——記錄客戶訪問事件
-
error_log ——記錄錯誤事件
-
-
代理服務:/var/log/squid/
-
access.log、cache.log
-
-
分析工具
-
文本查看、grep過來檢索、Webmin管理套件中查看
-
awk、sed等文本過濾、格式化編輯工具
-
Webalizer、Awstats等專用日志分析工具
-
2.5日志管理
-
及時做好備份和歸檔
-
延長日志保存期限
-
控制日志訪問權限
-
日志中可能會包含各類敏感資訊,如賬戶和口令等
-
-
集中管理日志
-
將服務器的日志檔案發到統一-的日志檔案服務器
-
便于日志資訊的統- -收集、 整理和分析
-
杜絕日志資訊的意外丟失、惡意篡改或洗掉
-
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/302445.html
標籤:其他
上一篇:安全防護建議
