淺談Linux中的chattr與lsattr命令
PS:有時(shí)候你發(fā)現(xiàn)用root權(quán)限都不能修改某個(gè)文件,大部分原因是曾經(jīng)用chattr命令鎖定該文件了。chattr命令的作用很大,其中一些功能是由Linux內(nèi)核版本來支持的,不過現(xiàn)在生產(chǎn)絕大部分跑的linux系統(tǒng)都是2.6以上內(nèi)核了。通過chattr命令修改屬性能夠提高系統(tǒng)的安全性,但是它并不適合所有的目錄。chattr命令不能保護(hù)/、/dev、/tmp、/var目錄。lsattr命令是顯示chattr命令設(shè)置的文件屬性。
這兩個(gè)命令是用來查看和改變文件、目錄屬性的,與chmod這個(gè)命令相比,chmod只是改變文件的讀寫、執(zhí)行權(quán)限,更底層的屬性控制是由chattr來改變的。
chattr命令的用法:chattr [ -RVf ] [ -v version ] [ mode ] files…
最關(guān)鍵的是在[mode]部分,[mode]部分是由+-=和[ASacDdIijsTtu]這些字符組合的,這部分是用來控制文件的屬性。
+ :在原有參數(shù)設(shè)定基礎(chǔ)上,追加參數(shù)。
- :在原有參數(shù)設(shè)定基礎(chǔ)上,移除參數(shù)。
= :更新為指定參數(shù)設(shè)定。
A:文件或目錄的 atime (access time)不可被修改(modified), 可以有效預(yù)防例如手提電腦磁盤I/O錯(cuò)誤的發(fā)生。
S:硬盤I/O同步選項(xiàng),功能類似sync。
a:即append,設(shè)定該參數(shù)后,只能向文件中添加數(shù)據(jù),而不能刪除,多用于服務(wù)器日志文件安全,只有root才能設(shè)定這個(gè)屬性。
c:即compresse,設(shè)定文件是否經(jīng)壓縮后再存儲(chǔ)。讀取時(shí)需要經(jīng)過自動(dòng)解壓操作。
d:即no dump,設(shè)定文件不能成為dump程序的備份目標(biāo)。
i:設(shè)定文件不能被刪除、改名、設(shè)定鏈接關(guān)系,同時(shí)不能寫入或新增內(nèi)容。i參數(shù)對(duì)于文件 系統(tǒng)的安全設(shè)置有很大幫助。
j:即journal,設(shè)定此參數(shù)使得當(dāng)通過mount參數(shù):data=ordered 或者 data=writeback 掛 載的文件系統(tǒng),文件在寫入時(shí)會(huì)先被記錄(在journal中)。如果filesystem被設(shè)定參數(shù)為 data=journal,則該參數(shù)自動(dòng)失效。
s:保密性地刪除文件或目錄,即硬盤空間被全部收回。
u:與s相反,當(dāng)設(shè)定為u時(shí),數(shù)據(jù)內(nèi)容其實(shí)還存在磁盤中,可以用于undeletion。
各參數(shù)選項(xiàng)中常用到的是a和i。a選項(xiàng)強(qiáng)制只可添加不可刪除,多用于日志系統(tǒng)的安全設(shè)定。而i是更為嚴(yán)格的安全設(shè)定,只有superuser (root) 或具有CAP_LINUX_IMMUTABLE處理能力(標(biāo)識(shí))的進(jìn)程能夠施加該選項(xiàng)。
應(yīng)用舉例:
1、用chattr命令防止系統(tǒng)中某個(gè)關(guān)鍵文件被修改:
# chattr +i /etc/resolv.conf
然后用mv /etc/resolv.conf等命令操作于該文件,都是得到Operation not permitted 的結(jié)果。vim編輯該文件時(shí)會(huì)提示W(wǎng)10: Warning: Changing a readonly file錯(cuò)誤。要想修改此文件就要把i屬性去掉: chattr -i /etc/resolv.conf
# lsattr /etc/resolv.conf
會(huì)顯示如下屬性
----i-------- /etc/resolv.conf
2、讓某個(gè)文件只能往里面追加數(shù)據(jù),但不能刪除,適用于各種日志文件:
# chattr +a /var/log/messages
以上這篇淺談Linux中的chattr與lsattr命令就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Linux下關(guān)于mtrace工具排查內(nèi)存泄露的問題
這篇文章主要介紹了Linux下關(guān)于mtrace工具排查內(nèi)存泄露的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-09-09
安裝ubuntu18.04報(bào):failed to load ldlinux.c32的問題及解決步驟
這篇文章主要介紹了安裝ubuntu18.04報(bào):failed to load ldlinux.c32的問題,本文通過圖文并茂的形式給大家分享解決方法,需要的朋友可以參考下2020-08-08
You don’t have permission to access /index.php on.
運(yùn)行php時(shí)提示You don't have permission to access /index.php on.錯(cuò)誤的解決方法,需要的朋友可以參考下2013-02-02
Linux通過設(shè)備號(hào)找到設(shè)備的方法
所有的Linux設(shè)備文件均位于/dev目錄下,是根(/)文件系統(tǒng)的一個(gè)組成部分,因?yàn)檫@些設(shè)備文件在操作系統(tǒng)啟動(dòng)過程中必須可以使用。接下來通過本文給大家介紹Linux通過設(shè)備號(hào)找到設(shè)備的方法,感興趣的朋友一起看看吧2018-07-07
Linux系統(tǒng)下安裝rz/sz命令及使用說明(詳解)
下面小編就為大家?guī)硪黄狶inux系統(tǒng)下安裝rz/sz命令及使用說明(詳解)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧,祝大家游戲愉快哦2016-12-12
Linux文件服務(wù)器實(shí)戰(zhàn)詳解(虛擬用戶)
這篇文章主要介紹了Linux文件服務(wù)器實(shí)戰(zhàn)詳解(虛擬用戶) ,需要的朋友可以參考下2018-06-06

