我用root用戶登錄,刪除一個普通的文件,怎么刪也刪不了。最后用lsattr命令查看,原來是被保護了。lsattr查看一個文件
1. chattr權限簡介
chattr - change file attributes on a Linux file system.
也就是說chattr命令的作用是改變linux文件系統中指定的文件的屬性。
chatrr權限是一種非常特殊的權限,它設置的屬性對超級用戶root也有效。只不過,它設置的屬性也可以通過root來刪除。
歸根結底,chattr的作用是防止用戶(包括root)對文件或目錄進行誤操作(比如修改或刪除)的一種保險手段。
2. chattr命令格式
chattr [+-=][選項] 文件或目錄名
-
+:增加權限(屬性)
-
-:刪除權限(屬性)
-
= :設置權限(屬性)
- 1
a :設置a之后,這個文件將只能增加數據,而不能刪除也不能修改數據,只有root才能設置這個屬性。
i :它可以讓一個文件不能被刪除、改名,設置連接也無法寫入或添加數據。只有root才能設置這個屬性。
問題,已經去掉了某個文件的i屬性和a屬性,為什么還是不能刪除???
原因在於該文件的所在目錄的屬性也要去掉。
- 如果去掉文件或目錄的隱藏屬性之后還是不能刪除,那么查看父目錄是否配置了不可刪除的隱藏屬性,若父目錄有配置,文件也是不能刪除的,需要逐級往上查看。
查看文件的系統屬性
命令格式:lsattr [選項] 文件名
-
[root@localhost tmp] # lsattr a.txt
-
----i------- -e- a.txt
-
可以發現,小寫字母i表示該文件被設置了i屬性
如果您想給一個文件多加點保護,可以使用命令:chattr +i filename