天天看點

linux 檔案保護-使用chattr +i保護

Linux檔案保護禁止修改、删除、移動檔案等,使用chattr +i保護

chattr指令的用法:​​

​chattr [ -RV ] [ -v version ] [ mode ] files…​

​​ 最關鍵的是在[mode]部分,[mode]部分是由±=和[ASacDdIijsTtu]這些字元組合的,這部分是用來控制檔案的

屬性。

+ :在原有參數設定基礎上,追加參數。

- :在原有參數設定基礎上,移除參數。

= :更新為指定參數設定。

A:檔案或目錄的 atime (access time)不可被修改(modified), 可以有效預防例如手提電腦磁盤I/O錯誤的發生。

S:硬碟I/O同步選項,功能類似sync。

a:即append,設定該參數後,隻能向檔案中添加資料,而不能删除,多用于伺服器日志文 件安全,隻有root才能設定這個屬性。

c:即compresse,設定檔案是否經壓縮後再存儲。讀取時需要經過自動解壓操作。

d:即no dump,設定檔案不能成為dump程式的備份目标。

i:設定檔案不能被删除、改名、設定連結關系,同時不能寫入或新增内容。i參數對于檔案 系統的安全設定有很大幫助。

j:即journal,設定此參數使得當通過 mount參數:data=ordered 或者 data=writeback 挂 載的檔案系統,檔案在寫入時會先被記錄(在journal中)。如果filesystem被設定參數為 data=journal,則該參數自動失效。

s:保密性地删除檔案或目錄,即硬碟空間被全部收回。

u:與s相反,當設定為u時,資料内容其實還存在磁盤中,可以用于undeletion.

各參數選項中常用到的是a和i。a選項強制隻可添加不可删除,多用于日志系統的安全設定。而i是更為嚴格的安全設定,隻有superuser (root) 或具有CAP_LINUX_IMMUTABLE處理能力(辨別)的程序能夠施加該選項。

[root@80uncle /]# chattr +i /etc/passwd

[root@80uncle /]# chattr +i /etc/shadow

[root@80uncle /]# chattr +i /etc/group

[root@80uncle /]# chattr +i /etc/gshadow

[root@80uncle ~]# lsattr /etc/group /etc/passwd /etc/shadow /etc/gshadow

—-i——–e- /etc/group

—-i——–e- /etc/passwd

—-i——–e- /etc/shadow

—-i——–e- /etc/gshadow

如果需要修改密碼,執行 chattr -i 消除權限

[root@80uncle /]# chattr -i /etc/passwd

[root@80uncle /]# chattr -i /etc/shadow

[root@80uncle /]# chattr -i /etc/group

[root@80uncle /]# chattr -i /etc/gshadow

[root@80uncle ~]# lsattr /etc/group /etc/passwd /etc/shadow /etc/gshadow

————-e- /etc/group

————-e- /etc/passwd

————-e- /etc/shadow

————-e- /etc/gshadow

改完權限和再修改檔案就可以,修改完之後,再執行.

[root@80uncle /]# chattr +i /etc/passwd

[root@80uncle /]# chattr +i /etc/shadow

[root@80uncle /]# chattr +i /etc/group

[root@80uncle /]# chattr +i /etc/gshadow

(1)修改檔案i權限

chattr +i 檔案名 将此檔案設定為不可修改,不可删除

linux 檔案保護-使用chattr +i保護

chattr +i 檔案夾名 将檔案夾設為不可修改(且不能在檔案夾中修改、删除或建立檔案及檔案夾,但可以用>或>>修改檔案夾中已有檔案的内容),不可删除

linux 檔案保護-使用chattr +i保護

chattr -i 檔案或檔案夾名 删除檔案或檔案夾的i權限

linux 檔案保護-使用chattr +i保護

(2)修改檔案a權限

chattr +a 檔案名 将此檔案設定為不可修改(可以用>>追加檔案内容),不可删除

linux 檔案保護-使用chattr +i保護
linux 檔案保護-使用chattr +i保護

chattr +a 檔案夾名 将檔案夾設為不可修改(且不能在檔案夾中修改、删除檔案及檔案夾,但可以在檔案夾中建立檔案及檔案夾,并且可以用>或>>修改檔案夾中已有檔案的内容),不可删除

linux 檔案保護-使用chattr +i保護

chattr -a 檔案或檔案夾名 删除檔案或檔案夾的a權限

linux 檔案保護-使用chattr +i保護

(3)拓展内容

chattr指令用于改變檔案屬性。

這項指令可改變存放在ext2檔案系統上的檔案或目錄屬性,這些屬性共有以下8種模式:

a:讓檔案或目錄僅供附加用途。

b:不更新檔案或目錄的最後存取時間。

c:将檔案或目錄壓縮後存放。

d:将檔案或目錄排除在傾倒操作之外。

i:不得任意更動檔案或目錄。

s:保密性删除檔案或目錄。

S:即時更新檔案或目錄。

u:預防意外删除。

文法:

​chattr [-RV][-v<版本編号>][+/-/=<屬性>][檔案或目錄...]​

​ 參數:

-R 遞歸處理,将指定目錄下的所有檔案及子目錄一并處理。

-v<版本編号> 設定檔案或目錄版本。

-V 顯示指令執行過程。

+<屬性> 開啟檔案或目錄的該項屬性。

-<屬性> 關閉檔案或目錄的該項屬性。

=<屬性> 指定檔案或目錄的該項屬性。

ps:chattr指令對子檔案夾内部不起作用,除非chattr修改檔案夾屬性時遞歸處理。

linux 檔案保護-使用chattr +i保護

lsattr指令

(1)顯示檔案隐藏屬性

lsattr 檔案或檔案夾名用于顯示檔案隐藏屬性

linux 檔案保護-使用chattr +i保護

(2)拓展内容

lsattr指令用于顯示檔案屬性。

用chattr執行改變檔案或目錄的屬性,可執行lsattr指令查詢其屬性。

文法:

​lsattr [-adlRvV][檔案或目錄...]​

參數:

-a 顯示所有檔案和目錄,包括以".“為名稱開頭字元的額外内建,現行目錄”.“與上層目錄”…"。

-d 顯示,目錄名稱,而非其内容。

-l 此參數目前沒有任何作用。

-R 遞歸處理,将指定目錄下的所有檔案及子目錄一并處理。

繼續閱讀