Linux chattr命令怎麼使用 Linux chattr命令使用方法

來源:互聯網
上載者:User

這兩個命令是用來查看和改變檔案、目錄屬性的,與chmod這個命令相比,chmod只是改變檔案的讀寫、執行許可權,更底層的屬性控制是由chattr來改變的。

Linux chattr命令怎麼使用:

chattr [ -RVf ] [ -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處理能力(標識)的進程能夠施加該選項。

應用舉例:

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

chattr和lsattr命令:

 在一個技術群上看到這麼一個問題:

問題出現在伺服器被黑後!特意出記錄下問題的解決方案。

由於被黑了,所以我們的很多命令將會出現使用不正常等問題,而這些問題大多是給人家添加或刪除了某些許可權所致。比較常用的解決方案是直接cp一份正常的命令執行應用或重新安裝那個命令包,當然如是出現上述的問題,以下方法可能就會幫得了你:

使用lsattr命令查看檔案的隱藏屬性,而用chattr來修改為正常值。

以下的兩個命令的解釋和使用方法:

1、lsattr

 文法: #lsattr [-aR]

參數說明:

-a :將隱藏檔案的屬性也列出來;

-R :連同子目錄的資料也一併列出來!

範例:

 # chattr +i .bash_logout ——>添加一個隱藏的“i”屬性,後面再細講

#lsattr -a           ——>將目前的目錄的檔案或目錄下的檔案所有屬性(包括隱藏屬性)列出

 -------------- ./.

 -------------- ./..

 ---i---------- ./.bash_logout

 -------------- ./.bash_profile

   -------------- ./.bashrc

2、chattr

文法:#chattr [+-=][ASacdistu] [檔案或目錄名稱]

參數說明:

+-= :分別為 [+ 增加] [- 減少] [= 設定] 屬性的意思

A  :當設定了 A 這個屬性時,這個檔案(或目錄)的存取時間

atime (access) 將不可被修改, 可避免例如手提式電腦容易有磁碟 I/O 錯誤的情況發生!

S  :這個功能有點類似 sync 的功能!就是會將資料同步寫入磁碟當中!可以有效避免資料流失!

a  :當設定 a 之後,這個檔案將只能增加資料,而不能刪除,只有 root 才能設定這個屬性。

 c  :這個屬性設定之後,將會自動的將此檔案『壓縮』,在讀取的時候將會自動解壓縮出來,但是在儲存的時候,將會先進行壓縮之後再儲存(看來對於大檔案似乎蠻有用的!)

d  :當 dump (備份)程式被執行的時候,設定 d 屬性將可使該檔案(或目錄)具有 dump 功效!

i  :這個 i 可就很厲害了!他可以讓一個檔案『不能被刪除、改名、設定連結也無法寫入或新增資料!對於系統安全性有相當大的協助!

 j  :當使用 ext3 這個檔案系統格式時,設定 j 屬性將會使檔案在寫入時先記錄在 journal 中! 但是當 filesystem 設定參數為 data=journalled 時,由於已經設定了日誌了,所以這個屬性無效!

s  :當檔案設定了 s 參數時,他將會被完全的移除出這個硬碟空間。

 u  :與 s 相反的,當使用 u 來設定檔案時,則資料內容其實還存在磁碟中,可以使用來 undeletion.

 範例:

#chattr +i /etc/shadow     ——>添加“i”隱藏屬性後,就無法更動這個檔案了

#chattr -i /etc/shadow     ——>解除"i"這個隱藏屬性

補充說明:

本命令是重要的,尤其是在系統的安全性上面。由於這些屬性是隱藏的性質,所以需要以 lsattr才能看到該屬性。其中,最為重要的是屬 +i 這個屬性了,因為他可以讓一個檔案無法被更動,對於需要強烈的系統安全的人來說,真是相當的重要的!裡頭還有相當多的屬性是需要 root 才能設定的!此外,如果是 log file 這種的登入檔,就更需要 +a 這個可以增加,但不會被殺掉的參數了。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.