Я часто сталкиваюсь с сообщениями на форумах или других веб-сайтах, где вы видите, как люди шутят о том, чтобы запускать / входить в систему как root, как будто это что-то ужасное, и каждый должен знать об этом. Тем не менее, не так много, что поиск показывает по этому вопросу. Это может быть широко известно специалистам по Linux, но я действительно не знаю почему. Я помню, как всегда запускал с правами root, когда впервые попробовал Linux много лет назад (Redhat и Mandrake), и не помню, чтобы из-за этого возникали какие-либо проблемы. На самом деле есть некоторые дистрибутивы с ярко-красным фоном с предупреждающими надписями в качестве обоев для пользователя root (Suse?). Я все еще использую учетную запись "Администратор" для регулярного использования в моей установке Windows и никогда не сталкивался ни с какими проблемами.
7 ответов
Эти пользователи имеют административный доступ к системе, уровень разрешений, который позволяет им и приложениям, которые они запускают, обходить механизмы защиты (например, разрешения файловой системы), позволяя им делать все в системе. Вредоносное ПО любит неограниченный доступ.
В качестве простого примера
sudo rm -rf *
удалит почти все в системе Linux, если вы находитесь в корневом каталоге. Это не должно быть так очевидно или даже злонамеренно. Что-то вроде неожиданно неопределенных переменных в скриптах, которые требуют привилегий root, может вызвать серьезные проблемы:
rm -rf $destinationDir/*
# if the variable is undefined and the shell doesn't care, the result is:
rm -rf /*
Иногда это простая опечатка в скрипте, которая удаляет половину вашей системы.
Поэтому общая рекомендация - использовать исполняемые программы только с повышенными правами, если это действительно необходимо.
Root в Linux даже более мощный, чем учетная запись администратора в Windows. Это сопоставимо с учетной записью SYSTEM в Windows, которая обычно недоступна.
Это было бы равносильно полному отключению UAC и запуску от имени администратора для всех пользователей в окне Windows. Вредоносные программы могут быть проще в установке, драйв для загрузки более эффективен, если есть проникновение, они теперь бог на вашем компьютере. Вы просто эффективно удаляете привилегии пользователей (как правило, плохая практика). imho, если у вас не было проблемы, вам либо очень повезло, либо у вас были невероятно безопасные привычки при просмотре, либо, скорее всего, ... была проблема, и вы ее не знали.
У меня есть (как минимум дважды) написанные сценарии, которые должны были просматривать структуру каталогов определенным образом и выполнять rm -rf *
в некотором каталоге. Произошла какая-то ошибка, и скрипт закончил тем, что перешел в "/"
(корневой) каталог и выполнил rm -rf *
. Это, конечно, пример наихудшего вида, но даже менее злые скрипты или команды могут нанести серьезный ущерб вашей системе при запуске от имени пользователя root.
Помимо сил, которые приходят с ним, и, следовательно, последствия ошибок, он также приходит без каких-либо предупреждений. И это предупреждения, которые предупреждают вас о неожиданных вещах.
Как, например, при запуске графического интерфейса пользователя root: как вы узнаете, что некоторые вредоносные программы пытались установить себя?
У вас печальное несчастье Microsoft и антивирусов, занимающихся этой проблемой. Учетная запись администратора (root) должна иметь неограниченный доступ (как утверждают все). Он может не только изменять системные файлы, в результате чего компьютер не может загружаться, но и может получать доступ к другим пользовательским данным (пользовательских прав недостаточно для обеспечения доступа к данным и их модификации при наличии физического доступа к компьютеру). Теперь о том, что вы не «видите».
К сожалению, всегда запускать компьютер с Windows в качестве администратора. Для этого есть веские причины, например, возможность стать другим пользователем в течение неактивного сеанса (для установки Программы потребуется выйти из системы и войти в систему как администратор, а также установить приложение, что может даже потребовать наличия администратора для запуска). В результате ваш компьютер привыкнет к вещам, которые вы не ожидали, даже если вы не установили приложение.
Результатом является не то, что люди уходят от работы в качестве администратора, а Microsoft внедряет контроль разрешений в подчеркивающую структуру UAC ОС. Это означает, что вас просят дать приложению разрешение на запуск независимо от того, кто вы. Vista была очень плохой, потому что у нее было два уровня для пользователей-администраторов: «Вы хотите запустить эту программу?"," Хорошо, теперь, когда вы запускаете эту программу, хотели бы вы запустить ее?"
В Linux вы видите совсем другую философию. Во-первых, ОС делает то, что вы говорите, без двойной проверки того, что вы действительно хотели запустить приложение. Во-вторых, пользователь не может делать с системой ничего, что он хочет. Это означает, что система защищена от ошибок пользователя, но пользователь всегда может повысить свои права доступа до нужного уровня, если пожелает. Microsoft в основном создала слой повышения разрешений, отдельный от пользовательского уровня, будет ли в Linux/Unix всегда существовать дизайн для расширения разрешений, который работал с пользователями.
В Linux это в основном просто удерживает вас (или приложение, действующее от вашего имени) от случайного выполнения чего-то глупого.
В Windows вы не можете установить много видов программного обеспечения, не запустив учетную запись от имени администратора, потому что у вас нет прав записи программных файлов или папок Windows. Наихудшие виды вредоносных программ должны иметь возможность писать в эти области, чтобы проникнуть в вашу систему.
Если вы не являетесь администратором и посещаете взломанный сайт, который пытается установить что-то вроде скрытого кейлоггера для кражи паролей, банковской информации или номеров кредитных карт, эта установка, скорее всего, не удастся. Если вы работаете как администратор, у этой установки гораздо больше шансов на успех. Тот же принцип справедлив для систем Linux.
Ключевым моментом здесь является то, что антивирусное программное обеспечение даже не входит в. В наши дни антивирусное ПО - это ваша последняя линия защиты, а не ваша первая. Порядок важности, который я использую для оценки мер безопасности, выглядит следующим образом:
- Держите вашу систему (включая прикладное программное обеспечение) исправленной
- Не запускайте от имени администратора
- Используйте другие безопасные интернет-привычки
- Запустить брандмауэр
- Хорошее резервное копирование в автономном режиме (в данном случае автономное означает "недоступен для вашей обычной файловой системы", что на самом деле может означать использование онлайн-службы)
- Запустите антивирусное программное обеспечение
На самом деле, если вы правильно выполняете достаточно других задач, антивирусное программное обеспечение на самом деле вообще не нужно. Но здесь важно то, что работать от имени администратора - нет-нет.
К счастью, теперь это состояние по умолчанию в Windows 7. Даже если ваша учетная запись имеет привилегии администратора, она по-прежнему работает в "песочнице" и просто дает вам право поднять требования для конкретного приложения по требованию.