fan*_*ing 4 linux command-line
我第一次在电脑上安装Linux的时候,一直喜欢用root,因为不需要sudo每次执行需要root权限的命令时都添加和输入密码。
所以有一天,我只想删除一个目录,然后我运行了rm -rf /,所以我的系统就崩溃了。我想知道为什么 Linux 设计者不禁止这样一个危险的命令。
Ben*_*n N 17
为什么它不应该允许您对自己的计算机做任何想做的事情?登录为root或使用sudo是对机器说,“我知道我在做什么。” 阻止人们做可疑的事情通常也会阻止他们做聪明的事情,正如 Raymond Chen 所说。
此外,允许用户烧毁根目录还有一个非常好的理由:通过完全擦除操作系统和文件系统来停用计算机。(危险!在某些 UEFI 系统上,rm -rf /也可以使物理机变砖。)在chrootjail 中做这件事也是合理的。
显然,人们不小心碰到了命令,以至于加入安全功能:rm -rf /确实在大多数系统中,除非什么--no-preserve-root也供给,而且也没有办法,你可以键入错误。这也有助于防止编写拙劣但善意的 shell 脚本。
TL;DR:最简单的答案是:为什么不呢?它只是更多的功能,是操作系统提供的工具。您自行承担使用它的风险,知道您在做什么。
使用 root 作为您的用户是一个非常糟糕的主意,因为您执行的所有操作都以提升的权限运行,这是一个巨大的安全漏洞。
例如,如果您下载了恶意程序,或者如果您计算机中安装的软件存在一些严重错误,则可能会对您的文件甚至硬件造成毁灭性的破坏。
即使你有点懒得写sudo很多次,也有一些命令,比如sudo -i,你可以使用一段时间,然后恢复到正常的权限状态。但除非您有更多使用终端的经验,否则我不建议这样做。
然而,这不能归因于 Linux 也不能归因于它的开发者。实际上,正如@DanielB 所说,Windows 也允许这样做。你有这样做的自由和工具,但这并不意味着你必须这样做。
有些软件包会阻止rm您访问根目录,例如Safe-rm。如果您认为它有再次发生的风险,那可能是一个不错的选择。此服务器故障问题中讨论了
其他解决方案和解决方法,例如rm的参数。--preserve-root