我们是否应该废除用户对 rm 的访问权限?

我们是否应该废除用户对 rm 的访问权限?

最近,我听到系统管理员和经理询问如何防止人们意外删除数据。这些非常聪明和敬业的人要求解决方案,以便数据不会因意外或故意而丢失。我听说解决这个问题的一个疯狂想法是取消用户对 rm 命令的访问权限。这真的是一个疯狂的想法吗?

管理员的用户可能会意外地或有时心不在焉地删除数据。他们面临的问题是,用户删除了数据(最有可能使用 rm),然后才意识到他们确实需要这些数据。

请告诉我解决这个问题的最佳方法......???

答案1

如果小损失是可以接受的,我认为一个好的备份策略会更好。

阻止用户删除任何内容都会让他们生气,他们总会找到删除东西的方法(例如使用 mv 或文件管理器)。

另一种策略可能是使用一个系统,其中每次更改实际上都不会删除任何内容,而只是添加数据和元数据。

在这样的系统中,删除命令实际上并不会破坏任何数据,它只是将其标记为已删除,并且数据仍然可以恢复。

例如,开源 ECM Alfresco 可以这样配置。

答案2

定期备份,也定期进行恢复测试,以及清晰易懂的保留策略。

我还发现,一种非正式的政策,即温和地嘲笑那些要求恢复的人,有助于减少恢复次数;因此,我(在备份策略方面)将所谓的灾难恢复与愚蠢的恢复区分开来。从长远来看,任何让用户在点击 <CR> 或单击“是”之前思考一下的方法都是防止意外删除的最佳良药。

答案3

想知道为什么没有人提到 trash-cli 和别名 rm=trash-cli(a la Sebastian)。而且您还必须设置一个 cronjob 来定期删除垃圾文件夹。功能上与备份没有太大区别,但仍然如此。

答案4

除了定期(至少每天)备份外,我建议强制使用rm -i。输入/etc/bash.bashrc

alias rm='rm -i'

摘自手册rm

-i     prompt before every removal

或者更好的是:

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

相关内容