連root也幹不掉的檔案

安全劍客發表於2019-11-04
在你的印象中,是不是root使用者就可以為所欲為呢?隨便一個rm -rf *,一波騷操作走人?可能沒那麼容易。
來啊,刪我啊!

先來個示例,建立一個文字檔案test.txt

$ touch test.txt

將其許可權位修改為777

$ chmod 777 test.txt
$ ls -al test.txt
-rwxrwxrwx 1 root root 13 Aug 31 15:03 test.txt

然後做一點暫時不告訴你的小操作。最後嘗試刪除:

$ rm test.txt
rm: cannot remove ‘test.txt’: Operation not permitted

咦?root使用者,777許可權位,為什麼還刪不掉?

i屬性

那麼我在中間做了一個什麼操作呢?實際上只是執行了一條 :

chattr +i test.txt

就導致了前面我們看到的效果。 中的檔案除了我們能看到的內容外,還有一些檔案屬性,其中,i屬性用於防止檔案被修改,重新命名,刪除。在執行前面的 之後,我們可以透過下面的方式檢視其屬性:

$ lsattr test.txt
----i--------e-- test.txt

如果想要移除該屬性,只需要執行;

chattr -i test.txt

這個時候就可以刪除啦。當然了,僅有超級使用者可以對這個屬性進行修改。所以說,root使用者為所欲為還是可以的,不過得加點小操作。

檔案屬性

實際上除了前面說的i屬性,還有其他屬性,包括:

a 只能以追加的方式開啟檔案寫(適用於日誌檔案)

A 不更新檔案的atime,即訪問時間

d dump命令執行時,不進行備份操作

S 檔案有更新時便寫磁碟,等同於對檔案使用sync

還有其他屬性就不一一列舉了,有興趣的可以參考man手冊。

總結

所以如果你發現有的檔案許可權位是777,但是用root使用者也沒法刪除,不如使用lsattr看看是不是有i屬性。

原文地址:

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

相關文章