chattr是用來改變檔案、目錄屬性。chattr命令的作用很大,其中一些功能是由linux核心版本來支援的。通過chattr命令修改屬性能夠提高系統的安全性,但是它並不適合所有的目錄。lsattr是用來顯示chattr命令設定的檔案屬性。與chmod相比,chmod只是改變檔案的讀寫,執行許可權,更底層的屬性控制是由chattr來改變的。
chattr命令的用法:chattr [ -rvf ] [ -v version ] [ mode ] files…
最關鍵的是在[mode]部分,[mode]部分是由+-=和[asacddiijsttu]這些字元組合的,這部分是用來控制檔案的屬性。
+ :在原有引數設定基礎上,追加引數。
- :在原有引數設定基礎上,移除引數。
= :更新為指定引數設定。
a:檔案或目錄的 atime (access time)不可被修改(modified), 可以有效預防例如手提電腦磁碟i/o錯誤的發生。
s:硬碟i/o同步選項,功能類似sync。
c:即compresse,設定檔案是否經壓縮後再儲存。讀取時需要經過自動解壓操作。
d:即no dump,設定檔案不能成為dump程式的備份目標。
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處理能力(標識)的程序能夠施加該選項。
應用舉例:
1、用chattr命令防止系統中某個關鍵檔案被修改:
# chattr +i /etc/resolv.conf
然後用mv /etc/resolv.conf等命令操作於該檔案,都是得到operation not permitted 的結果。vim編輯該檔案時會提示w10: warning: changing a readonly file錯誤。要想修改此檔案就要把i屬性去掉: chattr -i /etc/resolv.conf
# lsattr /etc/resolv.conf
會顯示如下屬性
----i-------- /etc/resolv.conf
2、讓某個檔案只能往裡面追加資料,但不能刪除,適用於各種日誌檔案:
# chattr +a /var/log/messages
Linux下的chattr和lsattr命令
lsattr mybook a e mybook12 上面這條命令的輸出表示mybook檔案具有擴充套件屬性a和e,即只能向該檔案新增資料,而不能刪除,並且該檔案使用extends來對映磁碟塊。顯然,將那些只允許增長但不允許修改和刪除的檔案設定為這樣的隱藏屬性是非常有利於保護資料安全的。需要說明的是...
linux隱藏許可權 chattr和lsattr
linux裡面檔案和目錄有兩個隱藏許可權 i和a lsattr 檔案或目錄 檢視檔案或該目錄下的檔案和目錄的隱藏許可權,如果要檢視當前目錄的許可權 lsattr d 目錄名 chattr i i a a 檔案或目錄 這個命令是給檔案或目錄新增隱藏許可權 i 後的檔案或目錄,修改內容,改名,移動,刪除...
Linux基礎命令 chattr和lsattr
這兩個命令是用來檢視和改變檔案 目錄屬性的,與chmod這個命令相比,chmod只是改變檔案的讀寫 執行許可權,更底層的屬性控制是由chattr來改變的。chattr命令的用法 chattr rvf v version mode files 最關鍵的是在 mode 部分,mode 部分是由 和 as...