前几天,我在Web服务器上执行一些维护任务。我很着急和困倦,所以我使用sudo
命令进行了所有操作。
然后,我不小心按下Ctrl+ V,将此命令发送到我的Web服务器:
sudo rm -rf /*
对于那些想知道上面命令做什么的人:这删除了我的整个 Web服务器
幸运的是,我有备份,但不幸的是,我不得不花两个多小时醒着才能修复这个令人敬畏的错误。但是从那以后,我一直在想:
有没有办法始终为特定命令强制使用sudo密码?
如果服务器要求我输入密码,则可以避免很多麻烦。它没有,因为sudo
在此重大错误发生之前,我运行了大约5条命令。
那么,有办法吗?我只需要密码和rm
命令一起执行即可。我使用的其他命令通常是(nano
或cp
在某种程度上)可恢复的。
/*
在传递给rm命令之前已展开。因此该命令看不到单个参数,而是一个参数列表(/bin /boot /cdrom /dev /etc /home
...)
rm
命令输入密码。他们只想sudo
在每次使用rm命令时提示一次。当您的第一个命令为时,您链接的问题的解决方案将变得有些烦人sudo rm
。因为它将要求您输入两个密码,一个用于sudo
一个rm
。