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