如果你曾经在Linux上保存过敏感文件,可能会希望防止其他人(甚至是你自己)意外重命名或删除它们。幸运的是,Linux提供了几种"锁定"文件的方法,确保文件不会遭到不必要的更改和删除。
在本教程中,小编将简单介绍如何使用Linux中提供的简单命令和工具锁定文件以防止重命名或删除它,同时还将通过一个示例来演示每种方法,一起来看看吧。
注意:这里假设在/home/user/
目录中有一个名为important.txt
的文件,并且想要保护此文件不被重命名或删除。
方法1:使用chattr使文件不可变
保护文件免遭重命名或删除的最简单有效的方法之一是使用chattr命令,该命令可以更改Linux中的文件属性。
首先,让我们使用lsattr
命令检查important.txt
属性,该命令将列出文件和目录的属性:
lsattr /home/user/important.txt
如果文件未被锁定,则将看不到任何内容或仅在输出中看到-
内容,如下图所示:
要使得important.txt
不可变(无法重命名或删除),请运行以下命令:
sudo chattr +i /home/user/important.txt
lsattr /home/user/important.txt
这时候应该在文件名旁边的输出中看到一个i
,表示它已被锁定:
现在尝试重命名或删除该文件将会失败:
mv /home/user/important.txt /home/user/important_backup.txt
同样,如果尝试删除该文件也会失败:
rm /home/user/important.txt
这时将收到一条错误消息,提示"Operation not permitted":
要要移除文件的不可变性并允许更改,请使用以下命令:
sudo chattr -i /home/user/important.txt
现在,你可以像往常一样重命名或删除important.txt
文件。
方法2:使用文件权限限制删除
防止文件删除的另一种方法是使用chmod
命令更改文件的权限,该命令设置的权限使得其他用户无法读取或编辑文件。
为了防止每个人(包括你自己)删除或修改文件,请使用以下命令:
chmod a-w /home/user/important.txt
你可以使用以下命令检查文件的权限:
ls -l /home/user/important.txt
这时应该看到类似这样的内容,其中w
(写入)权限已被删除,这表明没有人可以修改或删除该文件:
要允许自己再次删除或修改文件,请输入以下命令:
chmod +w /home/user/important.txt
方法3:使用chown更改所有权
如果你想自己是唯一有权修改或删除该文件的人,则可以更改该文件的所有权:
sudo chown myusername:mygroup /home/user/important.txt
注意:用你的实际用户名和群组替换myusername
和mygroup
。
现在,您可以使用以下命令检查文件的所有者和组:
ls -l /home/user/important.txt
这时应该看到类似这样的内容:
-r--r--r-- 1 myusername mygroup 0 Feb 5 10:00 /home/user/important.txt
这表明现在只有你可以修改或删除该文件。
小结
众所周知,在Linux系统中锁定重要文件可以有效防止重命名或删除等意外更改,这在处理重要文件时特别有用。
在上述内容中,小编介绍了几种锁定文件的方案,包括chattr
使文件不可变、调整文件权限和更改文件所有权,这些方法易于使用,并且为你提供保护文件所需的安全性。