在Linux中保护文件免遭意外删除的简便方法
之前我们介绍了如何使用chattr命令来防止在类似Unix的操作系统中意外删除文件和文件夹。
今天,我们将使用名为rm-protection的其他程序执行相同的操作。
与chattr不同,rm-protection实用程序将要求我们回答问题以删除受保护的文件。
如果我们未能提供正确的问题答案,则无法删除文件。
它是最小差异的'rm'命令的安全替代方法。
在本简短教程中,我将说明如何安装和使用rm-protection来防止文件在Linux中被意外删除。
安装rm-protection
安装rm-protection的官方方法是使用python软件包管理器pip。
要在Arch Linux及其衍生版本上安装PIP,请运行:
$sudo pacman -S python-pip
在RHEL,Fedora和CentOS上:
$sudo yum install epel-release
$sudo yum install python-pip
或者,
$sudo dnf install epel-release
$sudo dnf install python-pip
在Debian,Ubuntu和Linux Mint上:
$sudo apt-get install python-pip
一旦安装了PIP,请运行以下命令以安装“ rm-protection”。
$sudo pip install rm-protection
在Linux中使用rm-protection保护文件免遭意外删除
rm-protection实用程序的工作方式与“ rm”命令完全相同。
唯一的区别是它将要求我们回答一个问题。
它由两个实用程序组成,即rm-p和protect。
其中“ rm-p”将删除文件,“保护”实用程序将保护文件免遭意外或者有意删除。
请允许我解释一些例子。
首先,为方便起见,为“ rm-p”和“ protect”实用程序创建别名。
这是可选的。
如果不想创建别名,则每次要删除文件时都需要键入“ rm-p”。
$alias rm="rm-p"
$alias protect=protect
让我们说,我们有一个名为theitroad.txt的重要文件。
要保护此文件,请运行:
$protect theitroad.txt
为了保护上述文件,系统将询问我们一个问题及其答案。
Question for /home/sk/theitroad.txt: Do you love Linux? Answer: Yes I do
现在,以上文件已受保护。
该文件的问题和答案保存在当前目录中的.theitroad.txt.rm-protection文件中。
当我们要删除文件时,我们将需要答案。
现在,让我们尝试删除该文件。
$rm theitroad.txt
系统将要求我们输入问题的答案。
如果我们未能回答,则rm-protection将拒绝删除该文件。
rm-p: /home/sk/theitroad.txt: Do you love Linux? Answer: No rm-p: Wrong answer! /home/sk/theitroad.txt will not be removed rm-p: The answer is stored in /home/sk/.theitroad.txt.rm-protection rm: missing operand Try 'rm --help' for more information.
如果我们提供正确的答案,则它将删除该文件。
rm-p: /home/sk/theitroad.txt: Do you love Linux? Answer: Yes I do
就这么简单。
另外,我们可以使用-R标志来保护文件夹内的所有文件。
举例来说,我们可以保护名为test的目录中的所有文件,如下所示。
$protect -R test/
输出示例:
Question for /home/sk/test: Do you love Linux? Answer: yes
现在,如果不提供正确答案,就无法删除文件或者父文件夹。
等等,也有一些限制/问题
每个应用程序都有一些局限性和缺点。
rm保护是区分大小写的实用程序。
因此,在提供答案时,应使用正确的大小写(大写或者小写)。
例如,如果回答是“是”,而输入“是”,则rm-protection不会删除该文件。
我们需要输入正确的大小写正确的答案,就像我们在第一次保护文件时所提供的“是”一样。
如果答案中有逗号,则也需要提供逗号。
看下面的例子。
$rm theitroad.txt
rm-p: /home/sk/theitroad.txt: Do you love Linux? Answer: yes i do rm-p: Wrong answer! /home/sk/theitroad.txt will not be removed rm-p: The answer is stored in /home/sk/.theitroad.txt.rm-protection rm: missing operand Try 'rm --help' for more information.
正如我们在上面的示例中注意到的那样,即使我提供了正确的答案,rm-protection也拒绝删除该文件。
这是因为答案中的小写字母。
另外,使用实用程序保护文件时必须非常小心。
请注意,rm保护不是安全程序。
如果有人知道答案或者可以访问该文件(.theitroad.txt.rm-protection),则他/他将知道答案并轻松删除该文件。
正如我们的读者在注释部分中提到的那样,此方法不会阻止用户使用GUI删除文件。
因此,请勿将此实用程序与安全性混淆。
它不会保护文件,而是防止意外删除文件。
rm-protection实用程序的另一个限制是它将仅保护普通用户的文件/文件夹。
root用户仍然可以删除受保护的文件。
如果有人知道root密码,即使文件受密码保护,也将被删除。