Linux控制台 – 防止意外删除文件

昨天我误删了/ etc。

我记得我find了一个软件来防止这种事情,但我找不到它了。 我不记得这个名字,实际上Google没有帮助。

它有一个configuration文件,其中包含关键文件的文件/目录列表,每当用户发出rm命令时,程序都会根据该列表进行检查。

有人知道吗?

/ etc目录只能由root写入。 如果不是,那么你的设置有问题。

而在非MAC的Unix / POSIX / Linux系统上,根就是上帝。 大多数使用这样的系统的人都是这样做的,因为他们喜欢控制自己的系统,但是“拥有巨大的权力是很大的责任”。

除非你确定你知道你在做什么,否则不要使用root权限。

别名rm到rm -i在系统范围的/ etc / profile中,或者只是在您的主目录中的.bash_profile中,仅用于您的帐户。

添加这个:

alias rm='rm -i' 

你可能会发现很多发行版默认是这样做的。 即Redhat

另一个更简单的方法来防止这是正常的用户帐户的事情设置一个正常的用户帐户。 你不应该像做root一样浏览网页。

要ext2 / 3/4容易:

 chattr +i /etc/ 
  • chattr是Linux操作系统中的一个命令,它允许用户在驻留在基于ext2的文件系统上的文件上设置某些属性
  • +我是设置不可变的位,以防止根删除或更改文件的内容

如前所述,有rm -i

 alias rm='rm -i' 

但是,更好的是, -Iselect,因为它不经常在你的方式。

 -I prompt once before removing more than three files, or when removing recursively. Less intrusive than -i, while still giving protection against most mistakes 

另外,我会build议--preserve-root (如果它还不是系统的默认值):

 alias rm='rm -I --preserve-root' 

将文件夹的权限设置为“访问文件”而不是“创build和删除文件”给他人,组或所有者; 取决于你的环境。 我build议使用最小特权原则。 使一个用户或组只能访问文件到某个文件夹,然后设置为默认login该用户。 如果你需要特权,只需从terminal上升。

从长远来看,我build议大多数其他pipe理员做…学会不要再做一次,保持良好的备份,并且不要以自动有权删除按键的关键目录的用户身份运行,而是使用Sudo让你稍稍停顿一下,然后再打。 解决方法往往会导致一些混乱,除非它完全logging在案,或者导致不欢迎的其他行为(例如,找出为什么不能在没有附加命令的情况下更改configuration文件)