連root也幹不掉的文件

在你的印象中,是不是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

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

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

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

chattr -i test.txt

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

https://www.csdn.net/article/a/2019-11-04/15950345

http://www.51cto.com/it/news/2019/1104/16234.html

https://article.pchome.net/content-2103123.html

文件屬性

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

a 只能以追加的方式打開文件寫(適用於日誌文件)

A 不更新文件的atime,即訪問時間

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

S 文件有更新時便寫磁盤,等同於對文件使用sync

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

總結

所以如果你發現有的文件權限位是777,但是用root用戶也沒法刪除,不如使用lsattr看看是不是有i屬性。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章