如何在 Linux 中使文件和目录不可删除,即使是通过 root 也无法删除
在包括 Linux 在内的类 Unix 操作系统上,root
是默认情况下可以修改系统上所有目录和文件的帐户或用户名。在本文中,我们将展示如何使目录或文件即使是 Linux 中的 root 用户也无法删除。
要使任何系统用户(包括 root)都无法删除文件,您需要使用 chattr 命令使其不可修改。此命令更改 Linux 文件系统上的文件属性。
如何在 Linux 中使文件不可删除
下面的命令使 /backups/passwd 文件不可变(或不可删除)。这意味着无法以任何方式修改该文件:无法删除或重命名。您甚至无法创建指向它的链接,也无法将任何数据写入该文件。
请注意,您需要超级用户权限才能使用 sudo 命令设置或删除此属性:
sudo chattr +i /backups/passwd
OR
sudo chattr +i -V /backups/passwd
要查看文件的属性,请使用lsattr 命令,如图所示。
lsattr /backups/passwd
现在尝试以普通用户和 root 身份删除不可变文件。
rm /backups/passwd
sudo rm /backups/passwd
如何在 Linux 中递归地使目录不可删除
使用 -R
标志,您可以递归地更改目录及其内容的属性,如下所示。
sudo chattr +i -RV /backups/
要使文件再次可变,请使用 -i
符号删除上述属性,如下所示。
sudo chattr -i /backups/ passwd
有关更多信息,请阅读本文:在 Linux 中使重要文件不可变(不可更改)的 5 个“chattr”命令
您会发现这些相关文章很有用:
- 如何在 Linux 中管理用户和组
- 管理用户和组并启用用户的 sudo 访问权限
- 如何在 Linux 中查找具有 SUID 和 SGID 权限的文件
- 在 Linux 中将 rwx 权限转换为八进制格式
就是这样!在本文中,我们展示了如何使文件即使是 Linux 中的 root 用户也无法删除。您可以通过下面的反馈表提出任何问题。