CentOS 文件隱藏屬性


1、chattr用於配置文件的隱藏屬性

語法:
chattr [-RVf] [-+=aAcCdDeijsStTu] [-v version] files...

選項與參數:

+:增加某個特殊參數,其他原始存在參數不動;

-:移除指定參數,其他參數不變;

=:設定為chattr后面輸入的參數
A:當設定了A這個屬性時,若你有存取此文件/目錄時,他的訪問時間atime將不會被修改,可避免I/O較慢的機器過渡存取磁盤

S:一般文件是異步寫入磁盤的,如果加上S這個屬性,則同步寫入

a:當設定a之后,這個文件將只能增加數據,不能刪除也不能修改數據,僅root用戶允許設定

c:這個屬性設定后,將自動壓縮文件,在讀取時自動釋放

d:當dump程序被執行的時候,設定d屬性可使該文件/目錄不會被dump備份

i:該屬性可以讓一個檔案不能被刪除、修改、設定鏈接也無法寫入或新增資料,對於系統安全有幫助,僅root用戶允許設定

s:當文件設定了s屬性時,如果刪除該文件,則無法找回

u:與s相反,當刪除該文件,數據依據存在於磁盤中,可以使用來救援該文件

場景1:僅能在日志文件中追加內容而不能修改或刪除內容

#使用chattr需要root的權限,並且這個命令並不做直接提示
[es@bigdata-senior01 ~]$ sudo chattr +a loga.txt
[sudo] es 的密碼:
[es@bigdata-senior01 ~]$ lsattr loga.txt
-----a---------- loga.txt
[es@bigdata-senior01 ~]$ lsattr 1.txt
---------------- 1.txt
#普通用戶如果不適用sudo,無法正常使用chattr命令
[es@bigdata-senior01 ~]$ chattr +a 1.txt
chattr: 不允許的操作 while setting flags on 1.txt

[es@bigdata-senior01 ~]$ ll loga.txt
-rw-r--r-- 1 es es 0 1月  12 21:43 loga.txt
[es@bigdata-senior01 ~]$ echo $PATH > loga.txt #只能追加
-bash: loga.txt: 不允許的操作
[es@bigdata-senior01 ~]$ echo $PATH >> loga.txt
[es@bigdata-senior01 ~]$ rm -rf loga.txt
rm: 無法刪除"loga.txt": 不允許的操作

用vi編輯后無法保存。

場景2:創建一個文件,無法進行刪除。

[es@bigdata-senior01 ~]$ echo $HOME >1.txt
[es@bigdata-senior01 ~]$ cat 1.txt
/home/es
[es@bigdata-senior01 ~]$ sudo chattr +i 1.txt
[sudo] es 的密碼:
[es@bigdata-senior01 ~]$ lsattr 1.txt
----i----------- 1.txt
[es@bigdata-senior01 ~]$ ll 1.txt
-rw-rw-r-- 1 es es 9 1月  12 21:50 1.txt
[es@bigdata-senior01 ~]$ rm 1.txt
rm:是否刪除有寫保護的普通文件 "1.txt"?y
rm: 無法刪除"1.txt": 不允許的操作

2、lsattr用於查看文件的隱藏屬性

lsattr顯示文件的隱藏權限,格式為“lsattr [參數] 文件”。
在 Linux 系統中,文件的隱藏權限必須使用 lsattr 命令來查看,平時使用的 ls 之類的命令則看不出隱藏屬性

 


免責聲明!

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



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