如何在 Linux 中使文件和目录不可删除,即使是通过 root 也无法删除

在类 Unix 操作系统上,包括,是默认情况下可以修改系统上所有目录和文件的帐户或用户名。

但是您是否曾经想过保护您的重要文件和目录免遭意外删除,即使是超级用户或?

在本文中,我们将引导您完成使文件和目录不可删除的步骤,即使是 Linux 系统上最强大的 root 用户也是如此。

使任何系统用户都无法删除文件,包括,您需要使用以下命令使其不可修改,它更改 Linux 文件系统上文件或目录的属性。

使用 chattr 命令

下面的命令使/备份/密码文件不可变(或不可删除)。这意味着不能以任何方式修改该文件:不能删除或重命名它。您甚至无法创建指向它的链接,也无法将任何数据写入该文件。

请注意,您需要超级用户权限才能设置或删除此属性,使用:

sudo chattr +i /backups/passwd
OR
sudo chattr +i -V /backups/passwd
在 Linux 中使文件不可删除

要查看文件的属性,请使用lsattr 命令如图所示。

lsattr /backups/passwd 
查看 Linux 文件属性

现在尝试以普通用户和 root 用户身份删除不可变文件如图所示。

rm /backups/passwd
sudo rm /backups/passwd
在 Linux 中删除不可变文件

如何在 Linux 中递归地使目录不可删除

使用-R标志,您可以递归地更改目录及其内容的属性,如下所示。

sudo chattr +i -RV /backups/  
在 Linux 中使目录不可删除

要使文件再次可变,请使用-i删除上述属性的符号,如下。

sudo chattr -i /backups/ passwd

欲了解更多信息,请阅读这篇文章:

您会发现这些相关文章很有用:

结论

通过使用本指南中概述的方法,您可以防止 root 用户使用 chattr 命令意外删除重要文件和目录,该命令增加了额外的安全层来保护您的数据。