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的IP显示的IP(例如OpenDNS 208.67.222.222和208.67.220.220或Google 8.8.8.8和8.8.4.4的IP),并在修改IP之后重做chattr文件+ i /etc/resolv.conf,以便在计算机启动时不修改该文件。
    很棒的文章…顺便说一句,你的女朋友就像我的妻子一样,沉迷于游戏,哈哈哈哈哈

  7.   原始基础

    显然,在这种情况下,“他妈的主人”是你的女朋友。 xD