有時候你發現用root權限都不能修改某個檔案,大部分原因是曾經用chattr指令鎖定該檔案了。chattr指令的作用很大,其中一些功能是由Linux核心版本來支援的,不過現在生産絕大部分跑的linux系統都是2.6以上核心了。通過chattr指令修改屬性能夠提高系統的安全性,但是它并不适合所有的目錄。chattr指令不能保護/、/dev、/tmp、/var目錄。lsattr指令是顯示chattr指令設定的檔案屬性。
一、設定檔案系統屬性:chattr
chattr [+-=][選項] 檔案或目錄名
+:增權重限
-:删除權限
=:等于某權限
選項:
a,如果對檔案設定a屬性,那麼隻能在檔案中增加資料,也不能删除和修改資料,如果對目錄設定a屬性,那麼隻允許在目錄中建立和修改檔案,但不允許删除檔案,多用于伺服器日志檔案安全。
i,如果對檔案設定i屬性,那麼不允許對檔案進行删除,改名,也不能添加和修改資料,如果對目錄設定i屬性,那麼隻能修改目錄下檔案的資料,但不允許建立和删除檔案。
注意:chattr 限制權限之後,root 使用者也不能例外。這個指令可以防止對檔案進行誤操作。
二、檢視檔案的系統屬性:lsattr
lsattr 選項 檔案名
-a 顯示所有檔案和目錄
-d 若是目錄,僅列出本身的屬性,而不是子檔案的
三、舉例說明
1、設定檔案為隻讀。
------------------------------------------
[root@CentOS7 home]# chattr +i ii