Linux的chattr與lsattr命令



某個文件,強制刪除不了,改文件權限也改不了

chmod 777 ".user.ini"
set attrs for /home/wwwroot/www.fangbei.org/.user.ini: permission denied


rm "/home/wwwroot/www.fangbei.org/.user.ini"
rm /home/wwwroot/www.fangbei.org/.user.ini: permission denied

當然如是出現上述的問題,以下方法可能就會幫得了你:

使用lsattr命令查看文件的隱藏屬性,而用chattr來修改為正常值。以下的兩個命令的解釋和使用方法

lsattr 

  語法: #lsattr [-aR] 
  參數說明: 
    -a :將隱藏文件的屬性也列出來; 
    -R :連同子目錄的數據也一並列出來!

范例: 
# chattr +i .bash_logout     ——>添加一個隱藏的“i”屬性,后面再細講
#lsattr -a             ——>將當前目錄的文件或目錄下的文件所有屬性(包括隱藏屬性)列出 
-------------- ./. 
-------------- ./.. 
---i---------- ./.bash_logout 
-------------- ./.bash_profile 
-------------- ./.bashrc 

 

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 這個可以增加,但不會被殺掉的參數了。

 

[root@iZ94xwvm4vxZ]# chattr -i ".user.ini"
[root@iZ94xwvm4vxZ]# chmod 777 ".user.ini"
[root@iZ94xwvm4vxZ]# rm ".user.ini"

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM