在linux中,我們有的時候發現linux無法刪除一個文件或者目錄。 huskiesir第一次遇見這個問題還是在一次伺服器被不法分子入侵之後的事情,我就發現某個進程很多,根據進程的名字,我搜索關鍵字找到了某個a.sh文件。 於是huskiesir就用rm -rf a.sh,結果居然是顯示 rm: 無 ...
在linux中,我們有的時候發現linux無法刪除一個文件或者目錄。
huskiesir第一次遇見這個問題還是在一次伺服器被不法分子入侵之後的事情,我就發現某個進程很多,根據進程的名字,我搜索關鍵字找到了某個a.sh文件。
於是huskiesir就用rm -rf a.sh,結果居然是顯示 rm: 無法刪除"a.sh": 不允許的操作,最後小白的我去上網查才發現,其實是chattr這個東西在作怪,在文件的隱藏屬性里添加了 i 屬性
好了,廢話不多說,看看chattr是做什麼的呢?
其實文件或者目錄,都有著自己的隱藏許可權。而這個隱藏許可權可以通過lsattr去查看,比如:
ok,然後chattr則是可以對這些隱藏屬性進行修改的命令
chattr [mode] files
其中,最常用的就是+、-、a、i
+ 代表追加屬性
- 代表剔除屬性
a 如果擁有此選項代表不允許刪除,只允許追加
i 如果有此選項代表不允許修改(包括刪除、編輯等操作)
example:
我在/root下建立一個文件1,
touch 1
然後我使用chattr添加 i 和 a 屬性,
chattr +i 1
使用lsattr查看此文件的隱藏屬性,下圖可以看到添加的文件隱藏屬性
lsattr 1