我们应该废除用户访问rm?

最近,我听说系统pipe理员和pipe理人员询问解决scheme,防止人们意外删除他们的数据。 这些都是非常聪明和专注的人寻求一个解决scheme,使数据不会意外或故意丢失。 我听说要解决这个问题的一个疯狂的想法是摆脱用户对rm命令的访问。 这真的是一个疯狂的想法吗?

如果pipe理员有意或无意地删除了用户的数据, 他们面临的问题是用户删除数据,很可能使用rm,然后意识到他们确实需要数据。

请告诉我解决这个问题的最佳解决scheme…?

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

防止用户删除任何东西会使他们感到愤怒,他们总会find删除东西的方法(例如使用mv或文件pipe理器)。

另一种策略可能是使用一个系统,其中每个变化都不会实际删除任何内容,只是将数据和元数据相加。

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

例如,开源的ECM Alfresco可以这样configuration。

定期备份还定期作为恢复testing,以及明确的保留策略。

我也发现了一个非正式的嘲讽要求恢复的人有助于保持恢复数量的政策。 因此我在灾难恢复和白痴恢复之间的区别(涉及备份策略)。 任何使用户在点击<CR>或点击“是”之前都会想到的东西,从长远来看,是防止意外移除的最佳药物。

我听说过有人这样做。 我的感觉是,会有太多的边缘案例,你会增加你的支持开销,因为你会在文件囤积烘烤。 让用户不要堆积大量无用的文件,而不必让你删除它们。

例如,您可以将rm重命名为一个脚本,并显示将要删除的文件列表,并让人们从/usr/dict/wordsinput一个随机的5个字母的单词来确认,但请记住,无论快速翻身的方式,人们可以非常巧妙地绕开它们。 准备迎接未知的后果:)

除了定期(至less每天备份),我只是build议强制使用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 

想知道为什么没有人提到垃圾邮件和别名rm =垃圾邮件(一个塞巴斯蒂安)。 而且你还必须设置一个cronjob来定期删除垃圾文件夹。 在function上与备份没有太大的不同,但依然如此。

防止用户删除任何东西将使他们生气

这是真的。 特别是如果他们拥有他们想要删除的文件,在一个系统(这也是他们所拥有的)。 当然,我使用传统意义上的“ 自己”这个词 – 显然,Owner Creator很清楚地列出了一个新的高级域pipe理员的SID。

在这个假设中,它将被黑客所拥有,他们与系统pipe理员不能同意,最终用户是一个痛苦的…

但是,我当然看到了两个观点。

呃移除这将有助于这么多… http://perldoc.perl.org/functions/unlink.html 咳嗽不,不,只是备份宗教。

除了定期(至less每天备份),我只是build议强制使用rm -i。 放入/etc/bash.bashrc:

虽然这对于简单的删除来说是一个不错的解决scheme,但如果有人使用命令来使用任何其他交换机,则不会改变任何内容。 例如,可怕的rm -rf将不会提示用户,因为已经input了替代的开关。