chattr、lsattr linux的隱藏檔案屬性檢視的命令

531968912發表於2016-09-19
chattr命令的作用很大,其中一些功能是由Linux核心版本來支援的,如果Linux核心版本低於2.2,那麼許多
功能不能實現。同樣-D檢查壓縮檔案中的錯誤的功能,需要2.5.19以上核心才能支援。另外,透過chattr命令
修改屬效能夠提高系統的安全 性,但是它並不適合所有的目錄。chattr命令不能保護/、/dev、/tmp、/var
目錄。 lsattr比較簡單,只是顯示檔案的屬性
[root]#lsattr
  ----ia---j--- ./lsattr_test
這兩個命令是用來改變檔案、目錄屬性的,和chmod,ls這些命令相比,chmod只是改變檔案的讀寫、執行許可權,
更底層的屬性控制是由chattr來改變的。
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處理能力(標識)的程式能夠施加該選項。


應用例項一:
1、用chattr命令防止系統中某個關鍵檔案被修改
# chattr +i /etc/fstab 
然後試一下rm mv rename等命令操作於該檔案,都是得到Operation not permitted 的結果
2、讓某個檔案只能往裡面追加內容,不能刪除,一些日誌檔案適用於這種操作
# chattr +a /data1/user_act.log
應用例項二:  [root@ticket-A ~]# passwd root
Changing password for user root.
New UNIX password: 
Retype new UNIX password: 
Sorry, passwords do not match
New UNIX password: 
Retype new UNIX password: 
passwd: Authentication token manipulation error
有的說是根目錄空間滿,或者是密碼檔案的許可權的問題
如果以前對系統做安全配置,把/etc/passwd, /etc/shadow 改為不可修改
那就需要取消之前的修改,如下:
[root@station22 ~]# lsattr /etc/passwd /etc/shadow 
----i-------- /etc/passwd 
----i-------- /etc/shadow
[root@station22 ~]# chattr -i /etc/passwd 
[root@station22 ~]# chattr -i/etc/shadow
[root@station22 ~]# lsattr /etc/passwd /etc/shadow 
------------- /etc/passwd 
------------- /etc/shadow
再修改root的密碼就可以。
修改完之後,再執行
[root@station22 ~]# chattr +i /etc/passwd [root@station22 ~]# chattr +i/etc/shadow

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/25462274/viewspace-2125140/,如需轉載,請註明出處,否則將追究法律責任。

相關文章