linux root用戶沒法刪除文件,提示permission denied

我用root用戶登陸,刪除一個普通的文件,怎麼刪也刪不了。最後用lsattr命令查看,原來是被保護了。lsattr查看一個文件 linux

1. chattr權限簡介

chattr - change file attributes on a Linux file system.ruby

也就是說chattr命令的做用是改變linux文件系統中指定的文件的屬性。spa

chatrr權限是一種很是特殊的權限,它設置的屬性對超級用戶root也有效。只不過,它設置的屬性也能夠經過root來刪除。.net

歸根結底,chattr的做用是防止用戶(包括root)對文件或目錄進行誤操做(好比修改或刪除)的一種保險手段。code

2. chattr命令格式

chattr [+-=][選項] 文件或目錄名get

  1.  
    +:增長權限(屬性)
  2.  
    -:刪除權限(屬性)
  3.  
    = :設置權限(屬性)
  • 1

 a :設置a以後,這個文件將只能增長數據,而不能刪除也不能修改數據,只有root才能設置這個屬性。it

  i :它可讓一個文件不能被刪除、更名,設置鏈接也沒法寫入或添加數據。只有root才能設置這個屬性。io

 

問題,已經去掉了某個文件的i屬性和a屬性,爲何仍是不能刪除???class

緣由在於該文件的所在目錄的屬性也要去掉。登錄

  • 若是去掉文件或目錄的隱藏屬性以後仍是不能刪除,那麼查看父目錄是否配置了不可刪除的隱藏屬性,若父目錄有配置,文件也是不能刪除的,須要逐級往上查看

 

查看文件的系統屬性

命令格式:lsattr [選項] 文件名

  1. [root@localhost tmp] # lsattr a.txt
  2.  
    ----i------- -e- a.txt
  3.  
    能夠發現,小寫字母i表示該文件被設置了i屬性
     
     
     
     

    若是您想給一個文件多加點保護,可使用命令:chattr +i filename

相關文章
相關標籤/搜索