chattr:通過屬性或標誌最大程度地保護Linux中的文件/文件夾

好吧...不是所有的東西都可以是遊戲,我的目的不是只發表有關遊戲的文章😉...我不是一個經常玩遊戲的用戶,我在家把它留給我的女友(現在被鉤住了 模擬人生4),這就是為什麼它促使我更多地發布更多有關終端中的命令或技巧的技術文章。

在Linux中,我們有一些 權限 當然可以解決幾乎所有問題,我們可以確定哪些用戶或一組用戶可以訪問特定資源,文件夾,服務。 但是,有時候權限並不是我們所需要的,因為有時我們甚至希望root用戶也無法執行某些操作。

假設我們有一個不想刪除的文件夾或文件,讓我們去吧……既不是我們的用戶,也不是計算機上的另一個用戶(嗯...例如我的女朋友哈哈),甚至沒有root都可以刪除它,如何實現? ...權限將無濟於事,因為root是the-fucking-master,他可以刪除任何內容,因此文件或文件夾屬性就會進入該目錄。

chattr +我

假設我們要保護文件,使其不能被刪除,它是: 密碼.txt ,您的位置是(例如) $ HOME / passwords.txt

要設置一個只讀屬性(即,沒有修改也沒有刪除),它將是:

sudo chattr +i $HOME/passwords.txt

如您所見,我們需要+ i參數的管理權限,順便說一句,+ i表示文件將是不可變的,您知道,它不能刪除,也不能以任何方式更改。

然後,您甚至可以使用sudo嘗試刪除文件...您將看到您將無法刪除,這是屏幕截圖:

chattr_1

要列出或查看文件具有的屬性,我們可以使用以下命令 薩特例如:

lsattr passwords.txt

然後刪除保護,而不是使用 +i 我們用 -i 和瞧

chattr + a

正如我們已經看到的,+ i參數使我們可以對其進行完全保護,但是有時候我需要一個特定的文件才能進行修改,但是在不更改其原始內容的情況下。 例如,我有一個列表,並且我希望使用echo來添加新行和新信息,但對此不做任何更改:

sudo chattr +a $HOME/passwords.txt

完成此操作後,讓我們嘗試向文件中寫入新內容:

echo "Prueba" > $HOME/passwords.txt

您會發現收到錯誤消息……但是,如果我們添加內容而不是替換內容(使用>>而不是>):

echo "Prueba" >> $HOME/passwords.txt

在這裡可以。

結束!

我知道有人知道即使使用root也可以刪除/修改文件,但可以檢查其屬性...但是,嘿! ……您發現多少次您停止考慮屬性了? ...之所以這樣說,是因為通常我們只是認為HDD或其扇區已損壞,或者係統只是發瘋了😀

好吧,這裡沒有太多要添加的東西了……我想我將從 +i 停止下載我女友正在下載的內容... ~~~ ...嗯...她不是想要 下載模擬人生4 自由? …我想我會教給您一兩個關於許可證的知識,並且不應違反這些許可證😀

的問候!


發表您的評論

您的電子郵件地址將不會被發表。 必填字段標有 *

*

*

  1. 負責數據:MiguelÁngelGatón
  2. 數據用途:控制垃圾郵件,註釋管理。
  3. 合法性:您的同意
  4. 數據通訊:除非有法律義務,否則不會將數據傳達給第三方。
  5. 數據存儲:Occentus Networks(EU)託管的數據庫
  6. 權利:您可以隨時限制,恢復和刪除您的信息。

  1.   停止 他說:

    對此工具很有趣,如果它引起我一些好奇,但不會像位權限那樣,該怎麼辦? 即setuid,setgid和粘性位? 如果沒有,為什麼? o

    PS:我不記得你在這篇文章中說我女朋友的次數了哈哈哈

    1.    雨果 他說:

      好吧,這也是不可更改性,它的設計目的是使任何人都不能修改或刪除應用該文件的文件(甚至不是root)。 例如,我用它來寫保護配置文件,這在Zentyal等發行版中特別有用(自定義配置比編輯或創建模板要快得多)。

      通過將此命令與chown,chmod和setfacl結合使用,可以完成有趣的事情。

      FreeBSD也有類似的東西,我也將它用於pfSense。

    2.    約翰 他說:

      哈哈哈,這是一個已知的階段。
      http://www.xkcd.
      com / 684 /

  2.   年德庫埃拉 他說:

    [博士Bolivar Trask] $ sudo chattr + i * .human

  3.   特斯拉 他說:

    很好的訂單。 我不認識她

    如果我們共享一台PC,或者有一個我們正在處理的特定文檔不想被全世界刪除,這將非常有用。

    謝謝,最好的問候!

  4.   路易斯 他說:

    非常有趣的。

    是否可以做類似的事情,以使ROOT無法訪問我們主頁上的某個文件夾?

    1.    特斯拉 他說:

      根據該文章,使用此命令,即使root用戶也無法訪問該文件。 我想這同樣適用於文件夾,因為在Linux中文件夾也是文件,對嗎?

  5.   華金 他說:

    真是巧合這個週末,我嘗試刪除根分區,但無法從/ boot目錄中刪除文件。 看,我找到了屬性,老實說我不知道它們,現在我知道文件中的權限和屬性問題很大。 這是我們必須知道的那些基本命令之一,以及“ chmod”和“ chown”。

  6.   阿瓜泰馬拉 他說:

    這非常有用,特別是在例如我們要更改各自ISP的默認DNS,即必須修改/etc/resolv.conf文件且必須執行chattr -i的情況下。 /etc/resolv.conf,修改為我們的免費DNS和/或免費DNS(例如OpenDNS 208.67.222.222和208.67.220.220或Google 8.8.8.8和8.8.4.4的IP)顯示的IP,並在修改了文件redo chattr + i /etc/resolv.conf,以便在機器啟動時不修改文件。
    很棒的文章...順便說一句,你的女朋友就像我的妻子一樣,沉迷於遊戲,哈哈哈哈哈

  7.   原始基礎 他說:

    顯然,在這種情況下,“他媽的主人”是你的女朋友。 xD