4

Когда я впервые устанавливал Linux на свой компьютер, мне всегда нравилось использовать root, потому что мне не нужно было добавлять sudo и вводить пароль каждый раз, когда я выполнял команду, для которой требовались права root.

Итак, однажды я просто хотел удалить каталог и запустил rm -rf / , так что моя система просто сломалась. Интересно, почему разработчики Linux не запретили такую опасную команду?

2 ответа2

17

Почему он не должен позволять вам делать все, что вы хотите с вашим собственным компьютером? Вход в систему от имени пользователя root или использование sudo говорит компьютеру:«Я знаю, что я делаю». Как сказал Раймонд Чен, предотвращение людей от сомнительных поступков обычно также мешает им совершать умные поступки.

Кроме того, есть одна очень веская причина, позволяющая пользователю поджечь корневой каталог: вывод компьютера из эксплуатации путем полного стирания ОС и файловой системы. (Опасно! В некоторых системах UEFI rm -rf / может также блокировать физическую машину.) Это также разумно сделать в тюрьме для chroot.

По- видимому, люди случайно запустили команду так, что функция безопасности была добавлена: rm -rf / ничего не делает на большинстве систем , если --no-preserve-root не поставляется также, и нет никакого способа , вы можете ввести , что по ошибке. Это также помогает защититься от плохо написанных, но благих намерений сценариев оболочки.

8

TL; DR: Самый простой ответ: почему бы и нет? Это просто особенность, инструмент, который предоставляет операционная система. Вы используете его на свой страх и риск, зная, что вы делаете.


объяснение

Использование root в качестве пользователя - очень плохая идея, поскольку все, что вы выполняете, выполняется с повышенными привилегиями, что является огромным недостатком безопасности.

Например, если вы загрузили вредоносную программу или если в программном обеспечении, установленном на вашем компьютере, обнаружена критическая ошибка, это может привести к серьезным повреждениям ваших файлов и даже вашего оборудования.

Даже если вам немного лень писать много раз sudo , есть некоторые команды, такие как sudo -i , которые вы можете использовать некоторое время, а затем вернуться к своему обычному статусу привилегий. Но я не рекомендовал бы это, если у вас нет большего опыта использования терминала.

Однако это не относится ни к Linux, ни к его разработчикам. На самом деле, как заявил @DanielB, Windows это тоже позволяет. У вас есть свобода и инструменты для этого, но это не значит, что вы должны это делать.

Существуют пакеты, которые не позволяют вам получить rm к корневому каталогу, например Safe-rm. Это может быть хорошим выбором, если вы думаете, что есть риск, что это случится снова.
Другие решения и worarounds, как rm «s параметра --preserve-root обсуждаются в этом вопросе неисправности сервера.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .