Shell命令-文件及目錄操作之chattr、lsattr

文件及目錄操作 - chattr、lsattr

1. chattr:改變文件屬性

chattr命令的功能說明

chattr命令用於改變文件屬性。這項指令可改變存放在ext2文件系統上的文件或目錄屬性,這些屬性共有以下8種模式:

  • a:讓文件或目錄僅供附加用途。
  • b:不更新文件或目錄的最後存取時間。
  • c:將文件或目錄壓縮後存放。
  • d:將文件或目錄排除在傾倒操作之外。
  • i:不得任意更動文件或目錄。
  • s:保密性刪除文件或目錄。
  • S:即時更新文件或目錄。
  • u:預防意外刪除。

chattr命令的語法格式

chattr [ -RVf ] [ -v version ] [ mode ] files...
chattr [-RV] [-v<版本編號>] [+/-/=<屬性>] [文件或目錄...]

chattr命令的選項說明

chattr 參數有幾個,表1爲 chattr 命令的參數及說明:

表1: chattr命令的參數及說明

參數選項 解釋說明
-R 遞歸處理,將指定目錄下的所有文件及子目錄一併處理。
-v<版本編號> 設置文件或目錄版本。
-V 顯示指令執行過程。
+<屬性> 開啓文件或目錄的該項屬性。
-<屬性> 關閉文件或目錄的該項屬性。
=<屬性> 指定文件或目錄的該項屬性。

chattr命令的實踐操作

範例1:chattr命令防止系統中某個關鍵文件被修改:

[root@oldboyedu ~]# chattr +i /etc/resolv.conf
[root@oldboyedu ~]# lsattr /etc/resolv.conf      <-->lsattr顯示文件屬性(後面會講)
----i-------- /etc/resolv.conf
[root@oldboyedu ~]# chattr +i /etc/passwd  #<==鎖定文件不能刪除,不能修改
[root@oldboyedu ~]# lsattr /etc/passwd
----i----------- /etc/passwd
[root@oldboyedu ~]# lsattr /etc/hosts
---------------- /etc/hosts
[root@oldboyedu ~]# cp /etc/passwd{,.ori}
[root@oldboyedu ~]# rm -f /etc/passwd
rm: cannot remove ‘/etc/passwd’: Operation not permitted
[root@oldboyedu ~]# echo ddd > /etc/passwd
-bash: /etc/passwd: Permission denied
[root@oldboyedu ~]# useradd littleboy
useradd: cannot open /etc/passwd
[root@oldboyedu ~]chattr -i /etc/passwd  #<==解鎖文件。

範例2: 讓某個文件只能往裏面追加數據,但不能刪除,適用於各種日誌文件:

[root@oldboyedu ~]# chattr +a oldboy.txt 
[root@oldboyedu ~]# rm -f oldboy.txt 
rm: cannot remove ‘oldboy.txt’: Operation not permitted
[root@oldboyedu ~]# echo dddd &gt;&gt;oldboy.txt 
[root@oldboyedu ~]# echo dddd &gt;&gt;oldboy.txt 

2. lsattr:顯示文件屬性

lsattr命令的功能說明

lsattr命令用於顯示文件屬性。用chattr執行改變文件或目錄的屬性,可執行lsattr指令查詢其屬性。

lsattr命令的語法格式

lsattr [ -RVadv ] [ files... ]
lsattr [-adlRvV] [文件或目錄...]

lsttr命令的選項說明

lsattr 參數有幾個,表1爲 lsattr 命令的參數及說明:

表1: lsattr命令的參數及說明

參數選項 解釋說明
-a  顯示所有文件和目錄,包括以"."爲名稱開頭字符的額外內建,現行目錄"."與上層目錄".."。
-d  顯示,目錄名稱,而非其內容。
-l  此參數目前沒有任何作用。
-R  遞歸處理,將指定目錄下的所有文件及子目錄一併處理。
-v  顯示文件或目錄版本。
-V  顯示版本信息。

lsattr命令的實踐操作

範例1:chattr命令防止系統中某個關鍵文件被修改,然後用lsattr查看

[root@oldboyedu ~]# chattr +i /etc/passwd  #<==鎖定文件不能刪除,不能修改
[root@oldboyedu ~]# lsattr /etc/passwd
----i----------- /etc/passwd
[root@oldboyedu ~]# lsattr /etc/hosts
---------------- /etc/hosts

今天就寫到這裏,有什麼疑問或出現什麼錯誤,隨時歡迎大神們發表評論指點迷津

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章