我想为rm -rf /
. 我知道如何制作别名;问题是我不知道如何使用一系列命令来为所有命令创建别名。我想要类似rm -rf / = echo 'something'
, 但仅当使用“/”时。
我怎样才能做到这一点?
Ami*_*ias 17
通过应用适当的权限来防止人们删除内容会更好地做到这一点。
通过禁用别名、符号链接rm
并以这种方式运行它、复制rm
二进制文件,甚至可能直接运行它,这种别名“安全”方法很容易被覆盖。
您应该在无人看管时按Ctrl+ Alt+L锁定桌面以保护桌面。
hee*_*ayl 10
一个简单的bash
函数就可以了(但这显然可以被用户覆盖):
rm () { [[ $1 =~ -(rf|fr) && $2 = / ]] && echo "whatever" || command rm "$@" ;}
Run Code Online (Sandbox Code Playgroud)
请注意,即使某些用户这样做rm -rf /
,操作也不会继续,因为需要输入--no-preserve-root
选项以rm
递归删除根目录。(但没有什么可以阻止一个人做rm -rf /*
或cd /; rm -rf *
顺便说一句)
但是你应该考虑实施一个好的安全策略而不是猴子修补敏感的东西。