Поиск по сайту:

Почему 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? Ознакомьтесь с полной веткой обсуждения здесь.

Изображение предоставлено Викискладом