這篇文章主要介紹了怎么在Linux系統(tǒng)中防止文件和目錄被意外的刪除或修改,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
為企業(yè)提供成都做網(wǎng)站、成都網(wǎng)站建設(shè)、網(wǎng)站優(yōu)化、營(yíng)銷型網(wǎng)站建設(shè)、競(jìng)價(jià)托管、品牌運(yùn)營(yíng)等營(yíng)銷獲客服務(wù)。創(chuàng)新互聯(lián)公司擁有網(wǎng)絡(luò)營(yíng)銷運(yùn)營(yíng)團(tuán)隊(duì),以豐富的互聯(lián)網(wǎng)營(yíng)銷經(jīng)驗(yàn)助力企業(yè)精準(zhǔn)獲客,真正落地解決中小企業(yè)營(yíng)銷獲客難題,做到“讓獲客更簡(jiǎn)單”。自創(chuàng)立至今,成功用技術(shù)實(shí)力解決了企業(yè)“網(wǎng)站建設(shè)、網(wǎng)絡(luò)品牌塑造、網(wǎng)絡(luò)營(yíng)銷”三大難題,同時(shí)降低了營(yíng)銷成本,提高了有效客戶轉(zhuǎn)化率,獲得了眾多企業(yè)客戶的高度認(rèn)可!
默認(rèn),chattr
命令在大多數(shù)現(xiàn)代 Linux 操作系統(tǒng)中是可用的。
默認(rèn)語(yǔ)法是:
chattr [operator] [switch] [file]
chattr
具有如下操作符:
操作符 +
,追加指定屬性到文件已存在屬性中
操作符 -
,刪除指定屬性
操作符 =
,直接設(shè)置文件屬性為指定屬性
chattr
提供不同的屬性,也就是 aAcCdDeijsStTu
。每個(gè)字符代表一個(gè)特定文件屬性。
a
– 只能向文件中添加數(shù)據(jù)
A
– 不更新文件或目錄的***訪問(wèn)時(shí)間
c
– 將文件或目錄壓縮后存放
C
– 不適用寫入時(shí)復(fù)制機(jī)制(CoW)
d
– 設(shè)定文件不能成為 dump
程序的備份目標(biāo)
D
– 同步目錄更新
e
– extend 格式存儲(chǔ)
i
– 文件或目錄不可改變
j
– 設(shè)定此參數(shù)使得當(dāng)通過(guò) mount
參數(shù):data=ordered
或者 data=writeback
掛載的文件系統(tǒng),文件在寫入時(shí)會(huì)先被記錄在日志中
P
– project 層次結(jié)構(gòu)
s
– 安全刪除文件或目錄
S
– 即時(shí)更新文件或目錄
t
– 不進(jìn)行尾部合并
T
– 頂層目錄層次結(jié)構(gòu)
u
– 不可刪除
在本教程中,我們將討論兩個(gè)屬性的使用,即 a
、i
,這個(gè)兩個(gè)屬性可以用于防止文件和目錄的被刪除。這是我們今天的主題,對(duì)吧?來(lái)開始吧!
我先在我的當(dāng)前目錄創(chuàng)建一個(gè)file.txt
文件。
$ touch file.txt
現(xiàn)在,我將給文件應(yīng)用 i
屬性,讓文件不可改變。就是說(shuō)你不能刪除或修改這個(gè)文件,就算你是文件的擁有者和 root 用戶也不行。
$ 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
我來(lái)試試 sudo
特權(quán):
$ sudo rm file.txt
輸出:
# 不能刪除文件,非法操作rm: cannot remove 'file.txt': Operation not permitted
我們?cè)囋囎芳訉憙?nèi)容到這個(gè)文本文件:
$ echo 'Hello World!' >> file.txt
輸出:
# 非法操作bash: file.txt: Operation not permitted
試試 sudo
特權(quán):
$ sudo echo 'Hello World!' >> file.txt
輸出:
# 非法操作bash: file.txt: Operation not permitted
你應(yīng)該注意到了,我們不能刪除或修改這個(gè)文件,甚至 root 用戶或者文件所有者也不行。
要撤銷屬性,使用 -i
即可。
$ sudo chattr -i file.txt
現(xiàn)在,這不可改變屬性已經(jīng)被刪除掉了。你現(xiàn)在可以刪除或修改這個(gè)文件了。
$ rm file.txt
類似的,你能夠限制目錄被意外刪除或修改,如下一節(jié)所述。
創(chuàng)建一個(gè) dir1
目錄,放入文件 file.txt
。
$ mkdir dir1 && touch dir1/file.txt
現(xiàn)在,讓目錄及其內(nèi)容(file.txt
文件)不可改變:
$ sudo chattr -R +i dir1
命令中,
-R
– 遞歸使 dir1
目錄及其內(nèi)容不可修改
+i
– 使目錄不可修改
現(xiàn)在,來(lái)試試刪除這個(gè)目錄,要么用普通用戶,要么用 sudo
特權(quán)。
$ rm -fr dir1$ sudo rm -fr dir1
你會(huì)看到如下輸出:
# 不可刪除'dir1/file.txt':非法操作rm: cannot remove 'dir1/file.txt': Operation not permitted
嘗試用 echo
命令追加內(nèi)容到文件,你成功了嗎?當(dāng)然,你做不到。
撤銷此屬性,輸入:
$ sudo chattr -R -i dir1
現(xiàn)在你就能想平常一樣刪除或修改這個(gè)目錄內(nèi)容了。
我們現(xiàn)已知道如何防止文件和目錄被意外刪除和修改了。接下來(lái),我們將防止文件被刪除但僅僅允許文件被追加內(nèi)容。意思是你不可以編輯修改文件已存在的數(shù)據(jù),或者重命名這個(gè)文件或者刪除這個(gè)文件,你僅可以使用追加模式打開這個(gè)文件。
為了設(shè)置追加屬性到文件或目錄,我們像下面這么操作:
針對(duì)文件:
$ sudo chattr +a file.txt
針對(duì)目錄:
$ sudo chattr -R +a dir1
一個(gè)文件或目錄被設(shè)置了 a
這個(gè)屬性就僅僅能夠以追加模式打開進(jìn)行寫入。
添加些內(nèi)容到這個(gè)文件以測(cè)試是否有效果。
$ echo 'Hello World!' >> file.txt$ echo 'Hello World!' >> dir1/file.txt
查看文件內(nèi)容使用cat命令
$ cat file.txt$ cat dir1/file.txt
輸出:
Hello World!
你將看到你現(xiàn)在可以追加內(nèi)容。就表示我們可以修改這個(gè)文件或目錄。
現(xiàn)在讓我們?cè)囋噭h除這個(gè)文件或目錄。
$ rm file.txt
輸出:
# 不能刪除文件'file.txt':非法操作rm: cannot remove 'file.txt': Operation not permitted
讓我們?cè)囋噭h除這個(gè)目錄:
$ rm -fr dir1/
輸出:
# 不能刪除文件'dir1/file.txt':非法操作rm: cannot remove 'dir1/file.txt': Operation not permitted
刪除這個(gè)屬性,執(zhí)行下面這個(gè)命令:
針對(duì)文件:
$ sudo chattr -R -a file.txt
針對(duì)目錄:
$ sudo chattr -R -a dir1/
現(xiàn)在,你可以想平常一樣刪除或修改這個(gè)文件和目錄了。
更多詳情,查看 man 頁(yè)面。
man chattr
感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“怎么在Linux系統(tǒng)中防止文件和目錄被意外的刪除或修改”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來(lái)學(xué)習(xí)!
標(biāo)題名稱:怎么在Linux系統(tǒng)中防止文件和目錄被意外的刪除或修改
轉(zhuǎn)載源于:http://jinyejixie.com/article18/gdpgdp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供虛擬主機(jī)、網(wǎng)站營(yíng)銷、企業(yè)建站、網(wǎng)站排名、靜態(tài)網(wǎng)站、搜索引擎優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)