CentOS 檔案隱藏屬性
阿新 • • 發佈:2019-01-12
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的許可權,並且這個命令並不做直接提示 [[email protected] ~]$ sudo chattr +a loga.txt [sudo] es 的密碼: [[email protected] ~]$ lsattr loga.txt -----a---------- loga.txt [[email protected] ~]$ lsattr 1.txt ---------------- 1.txt #普通使用者如果不適用sudo,無法正常使用chattr命令 [[email protected] ~]$ chattr +a 1.txt chattr: 不允許的操作 while setting flags on 1.txt [[email protected] ~]$ ll loga.txt -rw-r--r-- 1 es es 0 1月 12 21:43 loga.txt [[email protected] ~]$ echo $PATH > loga.txt #只能追加 -bash: loga.txt: 不允許的操作 [[email protected] ~]$ echo $PATH >> loga.txt [[email protected] ~]$ rm -rf loga.txt rm: 無法刪除"loga.txt": 不允許的操作
用vi編輯後無法儲存。
場景2:建立一個檔案,無法進行刪除。
[[email protected] ~]$ echo $HOME >1.txt [[email protected] ~]$ cat 1.txt /home/es [[email protected] ~]$ sudo chattr +i 1.txt [sudo] es 的密碼: [[email protected] ~]$ lsattr 1.txt ----i----------- 1.txt [[email protected] ~]$ ll 1.txt -rw-rw-r-- 1 es es 9 1月 12 21:50 1.txt [[email protected] ~]$ rm 1.txt rm:是否刪除有防寫的普通檔案 "1.txt"?y rm: 無法刪除"1.txt": 不允許的操作
2、lsattr用於檢視檔案的隱藏屬性
lsattr顯示檔案的隱藏許可權,格式為“lsattr [引數] 檔案”。
在 Linux 系統中,檔案的隱藏許可權必須使用 lsattr 命令來檢視,平時使用的 ls 之類的命令則看不出隱藏屬性