文件及目錄操作 - 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 >>oldboy.txt [root@oldboyedu ~]# echo dddd >>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
今天就寫到這裏,有什麼疑問或出現什麼錯誤,隨時歡迎大神們發表評論指點迷津