濮阳杆衣贸易有限公司

主頁 > 知識庫 > 在Linux下創(chuàng)建寫保護(hù)的文件的教程

在Linux下創(chuàng)建寫保護(hù)的文件的教程

熱門標(biāo)簽:岑溪電銷機(jī)器人 大連企業(yè)電銷機(jī)器人線路 布谷電銷機(jī)器人價格 怎么查看地圖標(biāo)注的地點 義烏市400電話辦理 優(yōu)邁系統(tǒng)外呼顯示亂層 上海電銷卡外呼系統(tǒng)供應(yīng)商 電銷機(jī)器人錄音用什么軟件 營銷智能外呼系統(tǒng)口碑推薦

假如你想對Linux中的一些重要文件做寫保護(hù),這樣它們就不能被刪除或者被篡改成之前的版本或者其他東西,或者在其他情況下,你可能想避免某些配置文件被軟件自動修改。使用chown和chmod命令修改文件的歸屬關(guān)系或者權(quán)限位是處理這種情況的一個解決方法,但這并不完美,因為這樣無法避免有root權(quán)限的操作。這時chattr就派上用場了。

chattr是一個可以設(shè)置或取消文件的標(biāo)志位的Linux命令,它和標(biāo)準(zhǔn)的文件權(quán)限(讀、寫、執(zhí)行)是分離的。與此相關(guān)的另一個命令是lsattr,它可以顯示文件的哪些標(biāo)志位被設(shè)置上了。最初只有EXT文件系統(tǒng)(EXT2/3/4)支持chattr和lsattr所管理的標(biāo)志位,但現(xiàn)在很多其他的原生的Linux文件系統(tǒng)都支持了,比如XFS、Btrfs、ReiserFS等等。
在這個教程中,我會示范如果使用chattr來讓Linux中的文件不可變更。

chattr和lsattr命令是e2fsprogs包的一部分,它在所有現(xiàn)代Linux發(fā)行版都預(yù)裝了。

下面是chattr的基本語法。

  •     $ chattr [-RVf] [操作符][標(biāo)志位] 文件...

其中操作符可以是“+”(把選定的標(biāo)志位添加到標(biāo)志位列表)、“-”(從標(biāo)志位列表中移除選定的標(biāo)志位)、或者“=”(強(qiáng)制使用選定的標(biāo)志位)。

下面是一些可用的標(biāo)志位。

  •     a: 只能以追加模式打開。
        A: 不能更新atime(文件訪問時間)。
        c: 當(dāng)被寫入磁盤時被自動壓縮。
        C: 關(guān)掉“寫時復(fù)制”。
        i: 不可變更。
        s: 通過自動歸零來安全刪除。(LCTT 譯注:一般情況文件被刪后內(nèi)容不會被修改,改標(biāo)志位會使得文件被刪后原有內(nèi)容被“0”取代)

“不可變更”標(biāo)志位

為了讓一個文件不可變更,你需要按照如下方法為這個文件添加“不可變更”標(biāo)志位。例如,對/etc/passwd文件做寫保護(hù):

   

復(fù)制代碼
代碼如下:
$ sudo chattr +i /etc/passwd

注意設(shè)置或取消一個文件的“不可變更”標(biāo)志位是需要root用戶權(quán)限的?,F(xiàn)在檢查該文件“不可變更”標(biāo)志位是否被添加上了。

   

復(fù)制代碼
代碼如下:
$ lsattr /etc/passwd

一旦文件被設(shè)置為不可變更,任何用戶都將無法修改該文件。即使是root用戶也不可以修改、刪除、覆蓋、移動或者重命名這個文件。如果你想再次修改這個文件,需要先把“不可變更”標(biāo)志位取消了。

用如下命令取消“不可變更”標(biāo)志位:

   

復(fù)制代碼
代碼如下:
$ sudo chattr -i /etc/passwd
    

   

如果你想讓一個目錄(比如/etc)連同它下邊的所有內(nèi)容不可變更,使用“-R”選項:

   

復(fù)制代碼
代碼如下:
$ sudo chattr -R +i /etc

“只可追加”標(biāo)志位

另一個有用的的標(biāo)志位是“只可追加”,它只允許文件內(nèi)容被追加的方式修改。你不能覆蓋或者刪除一個設(shè)置了“只可追加”標(biāo)志位的文件。這個標(biāo)志位在你想避免日志文件被意外清理掉的情況很有用。

和“不可變更”標(biāo)志位類似,你可以使用如下命令讓文件變成“只可追加”模式:

   

復(fù)制代碼
代碼如下:
$ sudo chattr +a /var/log/syslog

注意當(dāng)你復(fù)制一個“不可變更”或者“只可追加”的文件到其他地方后,新文件不會保留這些標(biāo)志位!
結(jié)論

在這個教程中,我展示了如何使用chattr和lsattr命令來管理額外的文件標(biāo)志位,來避免文件被篡改(意外或者其他情況)的方法。注意你不能將chattr作為一個安全措施,因為“不可變更”標(biāo)志位可以很容易被取消掉。解決這個問題的一個可能的方式是限制chattr命令自身的可用性,或者去掉CAPLINUXIMMUTABLE內(nèi)核權(quán)能標(biāo)志。關(guān)于chattr以及可用的標(biāo)志位的更多細(xì)節(jié),請參考它的man手冊。

標(biāo)簽:荊州 淄博 阜陽 遼陽 忻州 楚雄 迪慶 來賓

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《在Linux下創(chuàng)建寫保護(hù)的文件的教程》,本文關(guān)鍵詞  在,Linux,下,創(chuàng)建,寫,保護(hù),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《在Linux下創(chuàng)建寫保護(hù)的文件的教程》相關(guān)的同類信息!
  • 本頁收集關(guān)于在Linux下創(chuàng)建寫保護(hù)的文件的教程的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    太湖县| 嘉义市| 剑河县| 乳山市| 崇阳县| 许昌市| 宁海县| 会东县| 穆棱市| 瑞昌市| 盘山县| 景洪市| 五寨县| 威远县| 沙河市| 永仁县| 綦江县| 安西县| 萨迦县| 阳泉市| 忻城县| 扎赉特旗| 根河市| 乌兰察布市| 蓝山县| 渭源县| 永安市| 神农架林区| 常熟市| 定安县| 商洛市| 湟源县| 梅河口市| 临夏县| 崇礼县| 喀喇沁旗| 栾川县| 苗栗市| 隆尧县| 宝丰县| 安溪县|