共計 1958 個字符,預(yù)計需要花費 5 分鐘才能閱讀完成。
這篇文章給大家分享的是有關(guān) linux 中 chattr 命令怎么用的內(nèi)容。丸趣 TV 小編覺得挺實用的,因此分享給大家做個參考,一起跟隨丸趣 TV 小編過來看看吧。
chattr 命令簡介
這里我們需要使用到一個命令是:chattr,這個命令在大部分的 Linux 發(fā)行版里都有,所以對于它的安裝就不贅述了。它的基本用法如下:
$ chattr 操作符 屬性 文件名
對于操作符,有以下三種:
+:給文件增加屬性
–:去除文件屬性
=:設(shè)置文件的僅有屬性
注意,這里講的屬性不是文件對應(yīng)的系統(tǒng)屬性,而是 chattr 給文件賦予的屬性。本文要講的屬性有以下兩個:
a – 允許給文件追加內(nèi)容
i – 保護(hù)模式 (不允許刪除或修改)
但是,它的屬性可以設(shè)置很多,有興趣的小伙伴可以去看下它的 man 手冊。
$ man chattr
防止文件被誤刪除或修改
假如我們現(xiàn)在有個國寶級重要文件 file.txt,現(xiàn)在我們使用 chattr 對它進(jìn)行保護(hù)。在這里,我們給文件增加 +i 屬性:
$ sudo chattr +i file.txt
然后,我們可以使用 lsattr 命令查看它的屬性。類似的輸出如下:
$ lsattr file.txt ----i---------e---- file.txt
現(xiàn)在,我們來嘗試一下,手賤去刪除那個文件:
$ rm file.txt rm: cannot remove file.txt : Operation not permitted
咦? 不允許刪除? 難道權(quán)限不夠?
那好,我 sudo 一下!
$ sudo rm file.txt rm: cannot remove file.txt : Operation not permitted
我 X,居然還是不能刪除?
我們再來試一下,修改文件的內(nèi)容。
$ echo hello world! file.txt bash: file.txt: Operation not permitted
可以看出來,依然不能對文件進(jìn)行修改了。
而且,即使你從 GUI 界面手動去刪除這個文件,也還是不能耐他幾何。
所以,可以看出來,現(xiàn)在這個文件得到了很好的保護(hù),既不能被刪除 (各種方法都不行),也不能被修改。
那我們要怎么去除這個保護(hù)呢? 很簡單,只需加上 -i 這個選項。
$ sudo chattr -i file.txt
現(xiàn)在,文件又恢復(fù)原樣了,我們想修改就修改,想刪除就刪除。
$ echo Hello World! file.txt $ cat file.txt Hello World! $ rm file.txt
防止文件夾被誤刪除或修改
上面講到的是保護(hù)文件,那么文件夾要如何保護(hù)呢?
其實也是一樣,使用 +i 這個選項。假如我們現(xiàn)在有個 dir1 目錄,里面有個 file.txt 文件。我們來對這個文件夾進(jìn)行保護(hù)。
$ sudo chattr -R +i dir1
在這里,我們使用 -R 選項表示可以遞歸作用到目錄里所有的文件 (包括子目錄)。
現(xiàn)在,我們同樣測試一下是否可以被刪除或修改。
$ rm -rf dir1 $ sudo rm -rf dir1 rm: cannot remove dir1/file.txt : Operation not permitted $ echo hello world! dir1/file.txt bash: file.txt: Operation not permitted
所以與文件一樣,我們成功地對文件夾進(jìn)行了保護(hù)。
防止文件 / 目錄被刪除,但允許追加內(nèi)容
現(xiàn)在我們知道怎么防止文件 / 目錄被誤刪除或修改了,但是,假如我們不想要文件已有內(nèi)容被修改,但允許別人在文件末尾追加內(nèi)容,要怎么操作?
這時候我們就需要使用 +a 這個選項了。
對文件:
$ sudo chattr +a file.txt
對目錄:
$ sudo chattr -R +a dir1
現(xiàn)在,我們來確認(rèn)一下,文件是否可以被追加內(nèi)容。
$ echo Hello World! file.txt $ echo Hello World! dir1/file.txt
我們再使用 cat 命令去查看一下內(nèi)容:
$ cat file.txt Hello World! $ cat dir1/file.txt Hello World!
可以看出來,文件都是可以被追加的。
但是,file.txt 還有 dir1/file.txt 依然不能被刪除。
如果你想去掉可追加的屬性,可以使用 -a 這個選項。
對文件:
$ sudo chattr -R -a file.txt
對目錄:
$ sudo chattr -R -a dir1/
感謝各位的閱讀!關(guān)于“l(fā)inux 中 chattr 命令怎么用”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!