Почему в Ubuntu отключена корневая учетная запись?

57

Ubuntu отключает root-доступ по «соображениям безопасности». Однако мне кажется, что это совсем не помогает с безопасностью.

Если злоумышленнику удастся получить ваш пароль для входа в Ubuntu, то он также имеет пароль суперпользователя, поскольку он совпадает с паролем для входа.

Однако, если требуется пароль root, то наличие логина не сильно поможет злоумышленнику - не так ли?

В общем, я хочу знать следующее: почему Ubuntu отключил пароль root? Каковы причины безопасности?

Пожалуйста, не отвечайте в соответствии с тем, что, по вашему мнению, было причиной - я ищу ответ из официальных источников или связан с ними.

Скажи мне почему
источник
6
Посмотрите, поможет ли это .
Митч
5
Причины использования sudo такие же, как и причина создания sudo.
Торбьерн Равн Андерсен
2
Canonical считает, что это самый близкий баланс между удобством использования и безопасностью для пользователей Windows и OSX, которые не имеют опыта системного администрирования. Весь смысл наличия настольного дистрибутива в том, чтобы обратиться к людям, которые не хотят изучать Linux как таковые, но хотят иметь возможность находить вещи, которые они хотят запустить, нажимать на них и запускать. В тот момент, когда «нормальному» пользователю становится интересно делать больше, чем просто web / mail / pr0n / games, внезапно Ubuntu может стать воротами ко всем этим замечательным материалам Unixy, о которых они слышали (включая «включение» root - он всегда был там). попробуй sudo su).
zxq9
1
Если кто-то запишет вашу учетную запись, он может захватить пароль root, когда вы вводите его, если вы когда-либо переходили suиз своей учетной записи в root. Ваше замечание о повышении привилегий применимо только в том случае, если вы входите в систему как root на отдельной консоли и никогда не делаете ничего как root, которому доверяют любые файлы, к которым у вашей обычной учетной записи есть доступ на запись. Как говорится в существующих ответах, одной из основных причин является нежелание новичков думать о root как об учетной записи, к которой вы должны войти и использовать.
Питер Кордес

Ответы:

81

Митч опубликовал хорошую ссылку в комментарии: почему плохо войти в систему как root? и сайт Debian имеет основные преимущества, перечисленные в их вики :

Почему sudo?

Использовать sudoлучше (безопаснее), чем открывать сеанс с правами root по ряду причин, в том числе:

  • Никому не нужно знать пароль пользователя root ( sudoзапрашивает пароль текущего пользователя). Дополнительные привилегии могут быть предоставлены отдельным пользователям временно, а затем забраны без необходимости смены пароля.

  • Легко выполнять только те команды, которые требуют специальных привилегий через sudo; в остальное время вы работаете как непривилегированный пользователь, что уменьшает ущерб, который могут нанести ошибки.

  • Аудит / ведение журнала: при sudoвыполнении команды регистрируется исходное имя пользователя и команда.

По указанным выше причинам переход на root с использованием sudo -i(или sudo su) обычно не рекомендуется, поскольку он отменяет вышеуказанные функции.

Что касается Ubuntu Преимущества и недостатки перечислены в нашей вики :

Преимущества использования sudo

В Ubuntu есть ряд преимуществ, позволяющих по умолчанию отключать входы в систему, в том числе:

  • У установщика меньше вопросов. Пользователям не нужно запоминать дополнительный пароль для случайного использования (т. Е. Пароль root). Если они это сделают, они могут забыть об этом (или записать это небезопасно, что позволит любому легко взломать их систему).

  • По умолчанию он избегает интерактивного входа «Я могу сделать все что угодно». Вам будет предложено ввести пароль до того, как произойдут серьезные изменения, которые должны заставить вас задуматься о последствиях того, что вы делаете.

  • В sudo добавляется запись в журнале команды (й) run (in /var/log/auth.log). Если вы запутались, вы можете вернуться и посмотреть, какие команды были запущены.

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

  • Позволяет легко передавать права администратора, добавляя и удаляя пользователей из групп. Когда вы используете один пароль root, единственный способ отменить авторизацию пользователей - это изменить пароль root.
  • sudo может быть настроен с более тонкой политикой безопасности. Пароль корневой учетной записи не нужно сообщать всем, кому необходимо выполнить какой-либо тип административных задач в системе (см. Предыдущий пункт).

  • Аутентификация автоматически истекает через короткое время (которое может быть установлено на желаемое значение или 0); так что если вы уйдете из терминала после запуска команд от имени root с помощью sudo, вы не оставите корневой терминал открытым на неопределенное время.

Недостатки использования sudo

Хотя для настольных компьютеров преимущества использования sudo велики, существуют возможные проблемы, которые необходимо отметить:

  • Перенаправление вывода команд, запускаемых с помощью sudo, требует другого подхода. Например, рассмотреть sudo ls > /root/somefile не будет работать, так как это оболочка, которая пытается записать в этот файл. Вы можете использовать ls | sudo tee -a /root/somefileдля добавления или ls | sudo tee /root/somefileперезаписи содержимого. Вы также можете передать всю команду процессу оболочки, запущенному под sudo, чтобы файл был записан с правами root, например sudo sh -c "ls > /root/somefile".

  • Во многих офисных средах ТОЛЬКО локальный пользователь в системе - root. Все остальные пользователи импортируются с использованием методов NSS, таких как nss-ldap. Чтобы настроить рабочую станцию ​​или исправить ее, в случае сбоя в сети, когда nss-ldap не работает, требуется root. Это делает систему непригодной для использования, если она не взломана. Здесь требуется дополнительный локальный пользователь или включенный пароль root. У локальной учетной записи должен быть свой $ HOME на локальном диске, а нев NFS (или любой другой сетевой файловой системе) и .profile / .bashrc, который не ссылается ни на какие файлы на монтируемых NFS. Обычно это относится к root, но если вы добавляете учетную запись без полномочий root, вам придется принять эти меры предосторожности вручную. Однако преимущество использования локального пользователя с помощью sudo заключается в том, что команды можно легко отслеживать, как упомянуто в приведенных выше преимуществах.

И у нас всегда было это (с самого первого выпуска).


Самая старая ссылка, которую я нашел, говорит о 4.10, который имеет "sudo"

SHUTTLEWORTH запускает UBUNTU LINUX на основе DEBIAN

... Ubuntu Linux на основе Debian включает Gnome 2.8, ядро ​​2.6.8.1, OpenOffice.org 1.1.2 и поставляется с текстовой, но простой процедурой установки. Ubuntu отключил пользователя root, предпочитающего использовать sudo так же, как Mac OSX ...

Rinzwind
источник
Отсутствие нескольких функций безопасности из преимуществ : (i.) (Для GUI) Никто не может получить «повышенные привилегии» без интерактивного локального доступа (ввод пароля на клавиатуре); (ii.) Предоставленная «повышенная привилегия» предназначена только для команд (ы) sudo'd, а не для какой-либо задачи / потоков для пользователя (или пользователя root).
david6
Это, кажется, игнорирует вопросы, поднятые в первоначальном вопросе, и затеняет его множеством другой информации, почему это хорошо?
paul23
6

Я считаю, что то, что написано на странице справки, достаточно ясно и достаточно объективно.

Ubuntu «для всех», и, если вы достаточно хороши, вам не нужен root-доступ, чтобы повредить компьютер, но в то же время он вам почти не нужен (и вы знаете, как его легко включить).
Таким образом, проблема не в людях, которые «достаточно хороши», а в том, что для всех остальных, которые могут прийти в Linux из другого мира вычислений, и первое влияние - это Ubuntu (а нас много).

Если вы не являетесь экспертом и не знаете точно, что rootтакое и как правильно с ним обращаться, вы не хотите и не должны включать его (и рискуете, например, сделать с ним графический вход).
Гораздо лучше научиться делать что-то на безопасной стороне, а затем переходить на более сложный и более опасный путь, чем начинать непосредственно с трудного пути, а затем повредить свою установку / рабочую станцию, расстроиться и, возможно, не сможет полностью восстановить работоспособность система.
В общем, предотвратить гораздо лучше, чем вылечить.

dadexix86
источник