天天看點

chattr與lsattr管理系統關鍵檔案

  在伺服器的系統裡有很多關鍵的檔案是不允許修改,以防止其他使用者或者入侵者修改關鍵的檔案,但是在實際生産環境中往往很多管理人員都沒有注意這一點,這導緻系統檔案有會被改的可能性,如此就需要我們平時的對關鍵的檔案加鎖管理了,在系統中要加鎖的關鍵檔案,當然還有重要的不能被修改的檔案也要加鎖

[root@test test]# chattr +i /etc/passwd#使用者關鍵資訊檔案
[root@test test]# chattr +i /etc/shadow#使用者影子檔案,存放使用者的密文密碼
[root@test test]# chattr +i /etc/gshadow#組影子檔案
[root@test test]# chattr +i /etc/group#組檔案
[root@test test]# chattr +i /etc/services#系統預設端口檔案      

加鎖後連root使用者都是無法對檔案删除和修改的,其中chattr的使用參數和模式如下:

  這項指令可改變存放在ext2檔案系統上的檔案或目錄屬性,這些屬性共有以下8種模式:
  a:讓檔案或目錄僅供附加用途。 
 b:不更新檔案或目錄的最後存取時間。 
 c:将檔案或目錄壓縮後存放。 
 d:将檔案或目錄排除在傾倒操作之外。 
 i:不得任意更動檔案或目錄。 
 s:保密性删除檔案或目錄。 
 S:即時更新檔案或目錄。 
 u:預防以外删除。
 參數:
 -R  遞歸處理,将指定目錄下的所有檔案及子目錄一并處理。 
 -v<版本編号>  設定檔案或目錄版本。 
 -V  顯示指令執行過程。 
 +<屬性>  開啟檔案或目錄的該項屬性。 
 -<屬性>  關閉檔案或目錄的該項屬性。 
 =<屬性>  指定檔案或目錄的該項屬性。      

但是如果有時要添加新使用者的時候怎麼辦,或者有些明明有權限的檔案不能被修改是為什麼

[root@test test]# useradd test1
useradd:無法打開密碼檔案      

我們可以看下用lsattr看下/etc/passwd檔案的隐藏屬性,像這樣的都是被加鎖過的檔案

[root@test test]# lsattr /etc/passwd
----i-------- /etc/passwd      
  -a  顯示所有檔案和目錄,包括以"."為名稱開頭字元的額外内建,現行目錄"."與上層目錄".."。 
  -d  顯示,目錄名稱,而非其内容。 
  -l  此參數目前沒有任何作用。 
  -R  遞歸處理,将指定目錄下的所有檔案及子目錄一并處理。 
  -v  顯示檔案或目錄版本。 
  -V  顯示版本資訊。      
[root@test test]# chattr -i /etc/passwd