解釋

解釋

當我第一次在電腦上安裝Linux時,我一直喜歡使用root,因為我不需要sudo每次執行需要root權限的命令時都添加並輸入密碼。

所以有一天,我只想刪除一個目錄,然後我運行了rm -rf /,所以我的系統崩潰了。我想知道為什麼 Linux 設計者不禁止這樣危險的命令。

答案1

為什麼它不允許您對自己的電腦做任何您想做的事情?登入root或使用sudo就是對機器說:“我知道我在做什麼。”阻止人們做可疑的事情通常也會阻止他們做聰明的事情,正如陳雷蒙德所言

此外,允許使用者銷毀根目錄還有一個非常好的理由:透過完全擦除作業系統和檔案系統來停用電腦。 (危險!在某些 UEFI 系統上,rm -rf /可以物理機也變磚.) 在一個內部做這也是一個合理的事情chroot監獄

顯然,人們不小心運行了該命令太多次,以至於添加了一個安全功能:rm -rf /除非同時提供,否則在大多數系統上不會執行任何操作--no-preserve-root,並且有決不你可以輸入因為失誤。這也有助於防範寫得不好但用意好的 shell 腳本

答案2

長話短說:最簡單的答案是:為什麼不呢?它只是一個功能,作業系統提供的一個工具。您使用它的風險由您自己承擔,並且知道您在做什麼。


解釋

使用 root 作為您的使用者是非常糟糕的主意,因為您執行的所有操作都是以提升的權限運行的,這是一個巨大的安全缺陷。

例如,如果您下載了惡意程序,或者電腦中安裝的軟體存在一些嚴重錯誤,則可能會對您的檔案甚至硬體造成毀滅性的損壞。

即使您有點懶得sudo多次編寫,也有一些命令,例如sudo -i,您可以使用一段時間,然後返回正常的權限狀態。但我不會建議這樣做,除非您有更多使用終端的經驗。

然而,這既不能歸咎於 Linux,也不能歸咎於它的開發者。實際上,正如@DanielB 所說,Windows 也允許這樣做。您有這樣做的自由和工具,但這並不意味著您必須這樣做。

有些軟體包會阻止您rm存取根目錄,例如安全室。如果您認為這種情況有再次發生的風險,那麼這可能是個不錯的選擇。
其他解決方案和解決方法,例如rm的參數,--preserve-root請參見伺服器故障問題。

相關內容