Почему Linux позволяет пользователям удалять корневой каталог?
В большинстве случаев никто из нас добровольно не совершает действий, которые буквально сломают наши операционные системы и заставят их переустанавливать. Но что, если такое действие может легко произойти даже случайно со стороны пользователя? Сегодняшний пост SuperUser Q&A содержит ответ на запутанный вопрос читателя.
Сегодняшняя сессия вопросов и ответов проводится благодаря SuperUser — подразделению Stack Exchange, группы веб-сайтов вопросов и ответов, управляемой сообществом.
Вопрос
Читатель SuperUser fangxing хочет знать, почему Linux позволяет пользователям удалять корневой каталог:
Когда я впервые установил Linux на свой компьютер, мне всегда нравилось использовать root, потому что мне не нужно было добавлять sudo и вводить пароль каждый раз, когда я выполнял команду для этого требовались разрешения на уровне root.
Однажды я просто хотел удалить каталог и запустил rm -rf /, что «сломало» мою систему. Мне было интересно, почему разработчики Linux не заблокировали столь опасную команду, чтобы она так легко запускалась.
Почему Linux позволяет пользователям удалять корневой каталог?
Ответ
У участника SuperUser Бена Н есть ответ для нас:
Почему он должен мешать вам делать все, что вы хотите, с вашим собственным компьютером? Вход в систему как root или использование sudo буквально говорит машине: «Я знаю, что делаю». Предотвращение совершения людьми сомнительных поступков обычно также мешает им совершать умные поступки (как выразился Рэймонд Чен).
Кроме того, есть одна исключительно веская причина позволить пользователю поджечь корневой каталог: вывод компьютера из эксплуатации путем полного стирания операционной системы и файловой системы. (Опасно! В некоторых системах UEFI команда rm -rf / может также заблокировать физическую машину.) Это также разумно сделать внутри chroot-тюрьмы.
Судя по всему, люди настолько случайно запустили команду, что была добавлена функция безопасности. rm -rf / ничего не делает в большинстве систем, если не указан параметр –no-preserve-root, и вы не можете случайно набрать его. Это также помогает защититься от плохо написанных, но благонамеренных сценариев оболочки.
Есть что добавить к объяснению? Отключить звук в комментариях. Хотите узнать больше ответов от других технически подкованных пользователей Stack Exchange? Ознакомьтесь с полной веткой обсуждения здесь.
Изображение предоставлено Викискладом