Когда я впервые установил Linux на свой компьютер, мне всегда нравилось использовать root, поскольку мне не приходилось sudo
вводить пароль каждый раз при выполнении команды, требующей прав root.
Так вот однажды я просто хотел удалить каталог и запустил rm -rf /
, так что моя система просто сломалась. Интересно, почему разработчики Linux не запретили такую опасную команду.
решение1
Почему бы ему не позволить вам делать все, что вы хотите, с вашим собственным компьютером? Вход в систему как root
или использование sudo
означает сказать машине: «Я знаю, что я делаю». Предотвращение людей от совершения сомнительных действий обычно также препятствует им совершать умные действия,как выразился Рэймонд Чен.
Кроме того, есть одна исключительно веская причина разрешить пользователю сжечь корневой каталог: вывод компьютера из эксплуатации путем полного стирания ОС и файловой системы.Опасность!В некоторых системах UEFI rm -rf /
можеткирпич и физическая машина тоже.) Это также разумно делать внутриchroot
тюрьма.
По-видимому, люди так часто случайно запускали эту команду, что была добавлена функция безопасности: rm -rf /
на большинстве систем ничего не происходит --no-preserve-root
, если не указано иное.ни за чтовы можете ввести этопо ошибке. Это также помогает защититься отплохо написанные, но благонамеренные скрипты оболочки.
решение2
TL;DR:Самый простой ответ: почему бы и нет? Это просто функция, инструмент, который предоставляет оперативная система. Вы используете ее на свой страх и риск, зная, что делаете.
Объяснение
Использование root в качестве пользователя являетсяочень плохая идея, поскольку все, что вы запускаете, выполняется с повышенными привилегиями, что является серьезным недостатком безопасности.
Например, если вы загрузили вредоносную программу или если в программном обеспечении, установленном на вашем компьютере, обнаружена критическая ошибка, это может привести к разрушительному повреждению ваших файлов и даже вашего оборудования.
Даже если вам немного лень писать sudo
много раз, есть некоторые команды, такие как sudo -i
, которые вы можете использовать некоторое время, а затем вернуться к своему обычному статусу привилегий. Но я бы не рекомендовал этого, если у вас нет большего опыта использования терминала.
Однако это не относится ни к Linux, ни к его разработчикам. На самом деле, как сказал @DanielB,Windows тоже это позволяет.У вас есть свобода и инструменты, чтобы сделать это, но это не значит, что вы должны это делать.
Есть пакеты, которые мешают вамrm
войти в корневой каталог, например:Сейф-рм. Это может быть хорошим выбором, если вы считаете, что есть риск, что это повторится.
Другие решения и обходные пути, такие как rm
параметр , --preserve-root
обсуждаются вэтотВопрос о сбое сервера.