当我第一次在计算机上安装Linux时,我一直喜欢使用root,因为这样我不需要sudo
每次执行需要root权限的命令时都添加并输入密码。
有一天,我只想删除一个目录,然后我运行了rm -rf /
,结果我的系统就崩溃了。我不知道为什么 Linux 设计师不禁止这么危险的命令。
答案1
为什么它不允许你对自己的计算机做任何你想做的事情?以用户身份登录root
或使用用户身份登录sudo
就是在对机器说:“我知道自己在做什么。”阻止人们做可疑的事情通常也会阻止他们做聪明的事情,正如 Raymond Chen 所言。
此外,还有一个非常好的理由允许用户烧毁根目录:通过彻底删除操作系统和文件系统来停止使用计算机。(危险!在某些 UEFI 系统上,rm -rf /
可以使物理机器也变砖)在chroot
监狱。
显然,人们不小心运行了太多次这个命令,因此添加了一个安全功能:rm -rf /
在大多数系统上不执行任何操作,除非--no-preserve-root
也提供了,并且决不你可以输入因为失误。这也有助于防止编写得不好但用意良好的 shell 脚本。
答案2
总结:最简单的答案是:为什么不呢?这只是操作系统提供的一项功能,一种工具。使用它时,您需要自行承担风险,并了解自己在做什么。
解释
使用 root 作为您的用户非常糟糕的想法,因为您执行的所有操作都是以提升的权限运行的,这是一个巨大的安全漏洞。
例如,如果您下载了恶意程序,或者您计算机上安装的软件存在一些严重的错误,这可能会对您的文件甚至硬件造成毁灭性的损害。
即使您懒得sudo
多次输入,也sudo -i
可以使用一些命令(例如),使用一段时间后返回正常权限状态。但除非您有更多使用终端的经验,否则我不建议这样做。
然而,这不能归咎于 Linux 或其开发人员。实际上,正如 @DanielB 所说,Windows 也允许这样做。您有自由和工具来做这件事,但这并不意味着您必须这么做。
有些软件包会阻止你rm
安装根目录,例如安全。如果您认为再次发生这种情况的风险很大,这可能是一个不错的选择。
其他解决方案和解决方法,如rm
的参数,--preserve-root
将在这服务器故障问题。