這篇文章將為大家詳細講解有關Linux常用命令chattr怎么用,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
chattr [-RV][-v][+/-/=][文件或目錄...]
-R 遞歸處理,將指定目錄下的所有文件及子目錄一并處理。
-v 設置文件或目錄版本。
-V 顯示指令執行過程。
+ 開啟文件或目錄的該項屬性。
- 關閉文件或目錄的該項屬性。
= 指定文件或目錄的該項屬性。
【例 1】 給文件賦予 i 屬性。
[root@localhost ~]# touch ftest \#建立測試文件 [root@localhost ~]# chattr +i ftest [root@localhost ~]# rm -rf ftest rm:cannot remove 'ftest':Operation not permitted \#無法刪除"ftesr",操作不允許 \#被賦予i屬性后,root不能刪除 [root@localhost ~]# echo 111>>ftest bash:ftest:Permission denied \#權限不夠,不能修改文件中的數據
可以看到,設置有 i 屬性的文件,即便是 root 用戶,也無法刪除和修改數據。
【例 2】為目錄賦予 i 屬性。
[root@localhost ~]# mkdir dtest \#建立測試目錄 [root@localhost dtest]# touch dtest/abc \#再建立一個測試文件abc [root@localhost ~]# chattr +i dtest \#給目錄賦予i屬性 [root@localhost ~]# cd dtest [root@localhost dtest]# touch bed touch: cannot touch 'bed':Permission denied \#無法創建"bcd",權限不夠,dtest目錄不能新建文件 [root@localhost dtest]# echo 11>>abc [root@localhost dtest]# cat abc 11 \#可以修改文件內容 [root@localhost dtest]# rm -rf abc rm: cannot remove 'abc': Permission denied \#無法刪除"abc",權限不夠
一旦給目錄設置 i 屬性,即使是 root 用戶,也無法在目錄內部新建或刪除文件,但可以修改文件內容。
給設置有 i 屬性的文件刪除此屬性也很簡單,只需將 chattr 命令中 + 改為 – 即可。
【例 3】演示 a 屬性的作用。 假設有這樣一種應用,我們每天自動實現把服務器的日志備份到指定目錄,備份目錄可設置 a 屬性,變為只可創建文件而不可刪除。命令如下:
[root@localhost ~]# mkdir -p /back/log \#建立備份目錄 [root@localhost ~]# chattr +a /back/log \#賦予a屬性 [root@localhost ~]# cp /var/log/messages /back/log \#可以復制文件和新建文件到指定目錄中 [root@localhost ~]# rm -rf /back/log/messages rm: cannot remove '/back/log/messages': Permission denied \#無法刪除 /back/log/messages,操作不允許
注意,通常情況下,不要使用 chattr 命令修改 /、/dev/、/tmp/、/var/ 等目錄的隱藏屬性,很容易導致系統無法啟動。另外,chatrr 命令常與 lsattr 命令合用,前者修改文件或目錄的隱藏屬性,后者用于查看是否修改成功。有關 lsattr 命令,放到下節講解。
關于“Linux常用命令chattr怎么用”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。