Linux文件系統屬性權限chattr與lsattr命令


有時候你發現用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
------------------------------------------

2、查看chattr命令賦予文件的屬性
------------------------------------------
[root@CentOS7 home]# lsattr
---------------- ./pi1
---------------- ./pi2
----i----------- ./ii                                    #可以看到被設置成只讀會多個i的參數
---------------- ./dd
[root@CentOS7 home]#
------------------------------------------

3、取消文件的只讀
------------------------------------------
[root@CentOS7 home]# chattr -i ii
------------------------------------------

4、如果想遞歸地改變目錄及其內容的屬性,可以使用標記-R來完成,例如,如果您想讓d1目錄中的所有文件都是只讀的,那么請使用以下方式:
------------------------------------------
[root@CentOS7 ~]# chattr -R +i d1
------------------------------------------
  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM