1. 程式人生 > >CentOS 檔案隱藏屬性

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的許可權,並且這個命令並不做直接提示
[[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 之類的命令則看不出隱藏屬性