Почему нет возможности войти в систему как root?

Почему Ubuntu не позволяет пользователям графического интерфейса входить в систему как root во время запуска системы, как администратор в Windows?

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

39
задан 2 January 2013 в 05:07

14 ответов

Причины использования sudo в Ubuntu можно найти здесь . Если вам когда-нибудь понадобится быстрый способ «получить root права», я использую sudo -s или sudo -i.

0
ответ дан 2 January 2013 в 05:07

Помимо множества предупреждений с использованием root, вы можете включить root-вход, выполнив вход и выполнив следующие действия с терминала:

sudo passwd

Сначала вам будет предложено пароль затем попросит вас изменить пароль UNIX. Введенный вами пароль будет для учетной записи root.

В Ubuntu Wiki есть отличная статья о глубинах root и sudo в Ubuntu - предостережения и подводные камни.

0
ответ дан 2 January 2013 в 05:07

Откройте терминал ( Ctrl + Alt + T или Dash home> Дополнительные приложения> Установлено (развернуто)> Терминал).

АКТИВИЗАЦИЯ УЧЕТНОЙ ЗАПИСИ

В терминале наберите или вставьте sudo passwd root. Введите ваш обычный пароль для входа (если вас об этом просят), затем вам будет предложено ввести новый root пароль и подтвердить его.

ДОБАВЛЕНИЕ НОВОГО ВХОДА В СИСТЕМУ ПОДСКАЗКИ, КОТОРЫЕ ПОЗВОЛЯЕТ ВАМ ВВОДИТЬ ROOT И ЕГО ПАРОЛЬ

В терминале введите или вставьте. gksudo gedit /etc/lightdm/lightdm.conf. Откроется окно графического текстового редактора, где вы можете отредактировать файл конфигурации для экрана входа в систему.

Добавьте строку greeter-show-manual-login=true в конец файла.

Теперь файл должен выглядеть следующим образом:

[SeatDefaults]
greeter-session=unity-greeter
user-session=ubuntu
greeter-show-manual-login=true

Сохраните файл lightdm.conf и выйдите из gedit.

Перезагрузите Ubuntu 12.04, и вы увидите новое окно «Login» (заменяет предыдущее окно «Other»), которое позволяет вводить имя пользователя и пароль. Введите root в качестве имени пользователя, а затем введите пароль, назначенный для учетной записи root.

Надеюсь, это поможет другим, которым нужен / нужен root доступ.

0
ответ дан 2 January 2013 в 05:07

Потому что это не рекомендуется делать, если вы не знаете точно , что вы делаете. Root - это суперпользователь, то есть он может делать все что угодно - он предназначен только для административных задач. Повседневные задачи могут нести угрозу безопасности, которая будет использоваться, если КАЖДЫЙ (или большая часть пользователей) будет использовать root. Подумайте, Windows - 99% вредоносных программ и вирусных проблем от людей, использующих учетные записи администратора для повседневных задач.

Давайте рассмотрим пример.

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

Однако, если вы работаете от имени пользователя root, вы можете полностью стереть жесткий диск, возможно, нанести ущерб самому оборудованию и, как правило, сделать систему непригодной для использования. Исправление: любой, кто сможет запустить одну команду от имени пользователя root на вашем компьютере (какой-либо вредоносный веб-сайт или вложение в электронное письмо), может это сделать.

Взгляните на http://everyjoe.com/technology/explain-why-not-log-on-as-root/ , это хорошая статья, которая может объяснить это лучше, чем я сделал.

РЕДАКТИРОВАТЬ: вот еще один http://ihazomgsecurityskillz.blogspot.nl/2010/09/running-as-root.html

EDIT2: вы всегда можете использовать sudo command или gksu command для запуска command в качестве суперпользователя, оба из которых работают с графическими утилитами и утилитами командной строки. sudo обычно используется для CLI, а gksu является графической подсказкой пароля, которая делает то же самое.

В некоторой степени, они позволяют вам стать root временно - намного, намного лучше, чем постоянно работать от имени root и рисковать нестабильностью.

0
ответ дан 2 January 2013 в 05:07

Что касается Ubuntu 12.04 LTS, вы можете сделать это, используя привилегию root:

echo "greeter-hide-users=true" >> /etc/lightdm/lightdm.conf

Затем вас попросят ввести имя пользователя и пароль для графического входа. Я предполагаю, что вы уже установили пароль для пользователя root:)

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

0
ответ дан 2 January 2013 в 05:07

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

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

0
ответ дан 2 January 2013 в 05:07

Хотя вы не можете войти в систему напрямую как root (по причинам, которые другие уже хорошо объяснили), вы можете запускать приложения с графическим интерфейсом как root. Например, Система → Администрирование → Synaptic Package Manager - это графическое приложение, работающее от имени пользователя root.

Чтобы запустить приложение от имени пользователя root (текстовое приложение или приложение с графическим интерфейсом), просто используйте одну из следующих команд:

sudo name-of-the-application
gksu name-of-the-application

Они практически идентичны. Основное отличие состоит в том, что первый запрашивает ваш пароль на терминале, второй использует графическое диалоговое окно.

0
ответ дан 2 January 2013 в 05:07

Дополнительное примечание: Ubuntu не позволяет пользователям графического интерфейса войти в систему как root, поскольку Ubuntu не позволяет случайно удалять или удалять важные файлы с помощью приложений GUI (например, nautilus).

Имея только пользовательский интерфейс CLI, можно снизить риск нашей ошибки. Но раньше мы не могли войти в систему как root даже в режиме CLI, потому что Ubuntu создает случайный пароль для root. Корневая административная задача может быть выполнена только с использованием пароля пользователя с командой sudo или gksu.

Он основан на правиле Debian.

0
ответ дан 2 January 2013 в 05:07

Root действительно не рекомендуется для обычного использования, но иногда у вас есть длинный список команд терминала, которым нужны привилегии root, и просто удобнее войти в систему как root. Я использую sudo xterm или gksu xterm, чтобы открыть корневой терминал. Я думаю, что немного проще определить, какое окно термина имеет привилегии root, если у вас есть удобное приглашение «root @» для термина

0
ответ дан 2 January 2013 в 05:07

В стандартном Ubuntu вход root не разрешен ни из диспетчера входа в GDM (графический), ни из текстовой консоли (т. Е. Той, которую вы получаете, нажимая Ctrl + Alt + F1 ).

Чтобы выполнить root (то есть администраторские) операции, вы должны использовать команду sudo в терминале или любой графический интерфейс, эквивалентный ей: они попросят ваш пароль и затем выполните запрошенную привилегированную операцию (и только эту).

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

Пример может помочь прояснить ситуацию. Предположим, вы хотите установить новый сервис (демон) на вашем компьютере; это относительно новое, и вам нужно прочитать об этом и о том, как настроить его в соответствии с вашими потребностями. В конечном итоге вы будете часто просматривать веб-страницы, чтобы найти информацию, примеры конфигураций и т. Д., Возможно, вам понадобится IRC-чат, чтобы запросить дополнительную информацию - для этого не требуется root полномочий! В конце концов, вам нужен привилегированный доступ только для двух операций:

  1. установите новую программу (т.е. sudo apt-get install ...), а
  2. отредактируйте конфигурацию по умолчанию
]

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

Настройка Ubuntu по умолчанию идет в этом направлении; если бы вы использовали логин root, вместо этого вы бы в конечном итоге занялись серфингом в Интернете, выполнив IRC (и, возможно, все другие действия, которые вы выполняете одновременно) из аккаунта root, таким образом без необходимости подвергая систему угрозе. .

Обновление: Для вашего примера компилятора я бы поступил следующим образом:

  1. Войдите в систему через SSH как ваш обычный пользователь и с другого узла Ubuntu или GNU / Linux, на котором запущен графический дисплей X11. Обязательно включите пересылку X11 через SSH:

    ssh -X myuser@remotemachine.example.org
    
  2. В командной строке shell / SSH введите команду:

    sudo /path/to/the/compiler/install/program
    

    Это запустит установщик компилятора с привилегиями root и доступом (через пересылку по SSH) к графическому дисплею перед вами.

0
ответ дан 2 January 2013 в 05:07

Здесь есть два вопроса. Во-первых, почему в Ubuntu по умолчанию отключен вход в систему root? Об этом уже говорилось в нескольких постах.

Второй вопрос: почему графические корневые учетные записи особенно оскорблены?

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

Вход в систему как root вообще не рекомендуется в Ubuntu, но в сообществе безопасности нет единого мнения, что это повсеместно плохая практика. Однако графические входы в систему root являются просто плохой практикой, и почти все операционные системы отказались от них или настоятельно рекомендуют против них

.

В меньшей степени, наличие пользователя без полномочий root (особенно пользователя с возможностью выполнения операций от имени root с помощью sudo или PolicyKit) при графическом входе в систему представляет риски. Но они гораздо более управляемы, чем когда все графическое окружение должно работать с правами root с неограниченными возможностями. Тем не менее, в ситуациях, когда безопасность имеет первостепенное значение, обычно рекомендуется вообще отказаться от графических интерфейсов, поэтому Ubuntu Server по умолчанию не поставляется с графическим интерфейсом и официально рекомендует не устанавливать его (хотя это поддерживается). .

В мире Windows вы можете теперь установить Windows Server таким образом, чтобы по существу исключил графический интерфейс пользователя (технически некоторые элементы остаются, но он очень урезан и вы не можете запускать произвольные графические программы ). Это основано на том же рассуждении.

Даже если вы решите включить root-вход, не входите графически как root. Включение корневых учетных записей может привести к немного более высокому риску безопасности; запуск всей графической среды с правами суперпользователя значительно увеличивает риск.

Кроме того, за исключением графических инструментов администрирования, которые предназначены для запуска с правами root с помощью gksu / gksudo / kdesudo, большинство графических программ не предназначены для запуска с правами root. Поскольку они не проходят всестороннюю проверку в этом режиме, они могут давать сбой или работать некорректно (что было бы особенно плохо, поскольку они работают от имени root ).

Наконец, даже некоторые графические инструменты администрирования, , например, users-admin , не будут работать, если они запускаются от имени пользователя root, так как они ожидают запуска от обычных пользователей и выполнения действий от имени пользователя root (даже не работая в root) с использованием PolicyKit.

0
ответ дан 2 January 2013 в 05:07

Учитывая, что нет никаких серьезных оснований войти в систему как корень, я предположил бы различие между RH (позвольте корневой вход в систему), и человечность (делают все с помощью sudo/gksu) является вопросом предпочтения.

Что касается другой части Вашего вопроса необходимо смочь выполнить графическую установку путем входа в систему как обычный пользователь, нажав ALT-F2 и ввод gksu. В получающемся диалоговом окне просто вводят команду, которая запускает Ваш установщик.

0
ответ дан 2 January 2013 в 05:07

Root не не рекомендуется для повседневных ежедневных задач. Поскольку он предоставляет вам привилегии суперпользователя, он может быть использован не по назначению. Таким образом, при входе в систему нет возможности для пользователя root.

0
ответ дан 2 January 2013 в 05:07

Вы всегда должны входить в систему под своим именем, а затем с помощью sudo выполнять действия от имени пользователя root. Ubuntu настроен так, чтобы предоставить вам практически весь доступ, необходимый по умолчанию. Незначительные изменения позаботятся обо всем остальном (например, добавление вашего использованного в другие группы). Вход в систему от имени root считается плохой практикой. Лучшая отраслевая практика - стандартная настройка, установленная здесь.

Кто-то, кто может войти в систему как root, может быть очень плохим с точки зрения безопасности.

0
ответ дан 2 January 2013 в 05:07

Другие вопросы по тегам:

Похожие вопросы: