Как НЕ стать пользователем root? Являются ли администраторы root?

Я установил Ubuntu на свой компьютер. Для входа в систему я использую имя пользователя и пароль, которые я создал во время установки. Означает ли это, что я являюсь пользователем root? Если да, то как мне стать не-root? Похоже, что пользователь без полномочий root более защищен, чем пользователь с правами администратора.

42
задан 20 January 2013 в 16:50

5 ответов

Нет такого понятия, как тупой вопрос;)

Надеюсь, это немного прояснит ситуацию:

В Ubuntu могут быть созданы два разных типа учетных записей пользователей: standard [ 111] учетных записей и учетных записей администратора . Разница между ними: стандартной учетной записи не разрешено вносить какие-либо важные изменения в вашу систему путем получения root-доступа, тогда как учетная запись администратора может использовать свой пароль для внесения изменений в качестве пользователя root. Корневой пользователь сам является одним из многих пользователей, которых создала система, и которых вы обычно не видите или не замечаете, и вы не можете войти в систему как он (по умолчанию, в любом случае). Если вы вошли в систему под учетной записью администратора, вы можете стать этим пользователем Root с помощью команды sudo в терминале, и вы можете ввести свой пароль для установки программного обеспечения, внесения изменений в систему и т. Д. Если вы Вы вошли в систему как обычный пользователь, вы не можете сделать что-либо из этого.

0
ответ дан 20 January 2013 в 16:50

пользователь, с которым вы входите в Ubuntu, не является администратором (пользователь-администратор в терминологии Linux называется root)

0
ответ дан 20 January 2013 в 16:50

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

Обычные пользователи не могут применять изменения в масштабе всей системы. Это преимущество для Linux по сравнению с Windows.

Если какая-либо атака будет выполнена, то она будет распространяться только на эту область в системе Linux / Unix, поскольку для атаки или изменения оставшихся областей требуются права доступа root, но в Windows, если атаковано одно место, это повлияет на всю систему. 114]

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

Если вы хотите стать пользователем root, вам может помочь sudo.

sudo -i 

Если вы хотите запустить приложение как пользователь root, вы можете использовать sudo.

sudo <app_name>

Всегда лучше запускать систему как пользователь без полномочий root.

0
ответ дан 20 January 2013 в 16:50

Учетная запись, созданная во время установки , является учетной записью администратора .

В Ubuntu учетная запись root не имеет пароля, и, как следствие, вы не можете войти в систему как пользователь root. Есть способы обойти это, но это настройка по умолчанию.

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

Чтобы подтвердить, что это правда:

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

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

Вот как вы можете проверить, является ли ваша учетная запись администратором или нет:

  • Открыть учетные записи пользователей из системных настроек.
  • Выберите вашу учетную запись в левом столбце.
  • Вы должны увидеть Administrator под именем учетной записи на обеих панелях для учетных записей администратора и Standard для обычных пользователей.
0
ответ дан 20 January 2013 в 16:50

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

Ubuntu запрашивает ваш пароль, когда вы пытаетесь сделать что-то как root, чтобы убедиться, что это действительно вы.

Учетные записи пользователей: люди и другие.

У реальных пользователей-людей есть учетные записи пользователей, которые их представляют. Вы создали одну такую ​​учетную запись, когда вы установили Ubuntu. Но не все учетные записи пользователей представляют реальных людей .

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

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

Например, пользователь www-data существует, поэтому, если вы запускаете веб-сервер, он владеет данными, которые сервер делает доступными. Ни один реальный пользователь не должен иметь возможности вносить неконтролируемые изменения в эти данные, а веб-сервер не должен быть уполномочен выполнять какие-либо действия, необязательные для обслуживания сети. Следовательно, и веб-данные, и остальная часть системы более защищены от случайного или преднамеренного взлома, чем если бы веб-сервером управлял какой-то пользователь-человек, который имел бы все полномочия веб-сервера (и чьи полномочия веб-сервер мог бы обладают).

Самая важная учетная запись пользователя, не являющегося человеком

Суперпользователь , чье имя пользователя root, является учетной записью пользователя, не являющейся человеком, с очень специфической комбинацией возможностей и ограничений: все способности и без ограничений .

[sup> root позволял делать что угодно. Есть еще вещи, которые root не могут сделать, потому что сама система не может выполнять или осмысливать их. Поэтому root не может убить процесс, который в непрерывном сне или делает камень слишком тяжелым для перемещения, а затем перемещает его .

Многие важные системные процессы, такие как init , выполняются как root, а root используется для выполнения административных задач.

Можно ли войти в систему как root?

Можно настроить учетную запись root, чтобы можно было войти в систему с паролем, но это не включено по умолчанию в Ubuntu. Вместо этого вы можете думать о root как о www-data, lp, nobody и других нечеловеческих счетах. (Запустите cat /etc/passwd или getent passwd, чтобы увидеть их всех.)

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

Можно настроить других пользователей, не являющихся людьми, например www-data, так что вы также можете войти в систему как они. Это довольно редко, хотя, в то время как в некоторых других Unix-подобных ОС обычно регистрируются как root в терминале . Риски запуска всего графического интерфейса как root, в сочетании с тем, сколько графических программ не предназначены для работы как root и могут работать неправильно, означают, что вы никогда не должны пытаться получить root -собственный ] desktop session .

Обратите внимание, что хотя вход в систему как root по умолчанию отключен в Ubuntu, существуют способы получить оболочку root без аутентификации как root, которые производят аналогичный эффект: наиболее распространенными являются sudo -s или -i , режим восстановления и аналогичные методики . ( Не беспокойтесь, если вы не знаете, что это такое. На самом деле это не вход в систему: в режиме восстановления вы становитесь root до того, как произойдет любой вход в систему; с помощью методов, основанных на sudo, вы просто запускаете оболочку от имени пользователя root.

Администраторы

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

System Settings, showing human user accounts including an administrator account.
Системные настройки> Учетные записи пользователей. «Элия Каган» является администратором, поэтому он может делать вещи как root, но он не root .

Я администратор в моей системе Ubuntu. Когда я запускаю программы, обычно они запускаются как ek («Eliah Kagan» - это полное имя, соответствующее имени пользователя ek.)

Когда я запускаю AbiWord или LibreOffice, он запускается как ek , Когда я запускаю Firefox, Chromium, Empathy или Pidgin, он работает как ek. Программы, которые запускаются для обеспечения интерфейса рабочего стола, работают как ek.

Однако я администратор, поэтому, если мне нужно выполнить административную задачу, я могу это сделать.

sudo

В командной строке я обычно использовал бы sudo для запуска команды как root:

sudo command...

Это подскажет мне для моего пароля. (Не пароль root; у root его нет.)

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

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

Screenshot illustrating the need for sudo: an administrator can only run certain commands successfully by doing so as <code>root</code>, which is usually done by prepending sudo (and a space) to the command.
Снимок экрана, иллюстрирующий необходимость использования sudo для выполнения административных задач. (На основе «Сэндвич» Рэндалла Манро .)

sudo, Графически

Графические программы могут работать как root - графические интерфейсы для sudo , такие как gksu / gksudo и kdesudo . Например, чтобы запустить GParted как root, я мог бы запустить gksudo gparted. Затем мне будет предложено графически ввести пароль.

gksudo graphical password prompt

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

Polkit

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

В наши дни многие графические утилиты системного администрирования настроены на использование polkit по умолчанию, а не на использование sudo.

Одним из примеров такой утилиты является Центр программного обеспечения. Он использует все преимущества polkit, требуя от пользователя ввести свой пароль только , когда он хочет сделать что-то , которое требует root привилегий. (Это возможно и при аутентификации на основе sudo, но это труднее и уродливее).

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

Authenticating via polkit to install an application in the Ubuntu Software Center.

Чем отличается polkit

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

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

Polkit, Non-Graphically

pkexec - это команда, используемая для запуска программы с помощью polkit.

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

pkexec command...

pkexec запрашивает пароль графически, даже если он запускается из Терминал (это один из способов, которым его поведение больше похоже на gksudo, чем на бег по прямой sudo).

(Если GUI отсутствует - например, если вы вошли в систему с виртуальной консоли или только текстового сеанса SSH , или GUI не работает должным образом - тогда pkexec будет изящно ухудшаться и запрашивать ваш пароль в командной строке.)

Running a command in a terminal with pkexec.

После успешной аутентификации команда запускается в терминале.

A command runs seamlessly as <code>root</code> after successfully polkit authentication.

Запуск команд от имени других пользователей Кроме root

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

sudo -u username command...
gksudo -u username command...
pkexec --user username command...

Что? Вы сначала набираете sudo? Как это защищено?!

Выполнение команд с sudo похоже на вызов папской непогрешимости .

Когда вы запускаете команду с sudo [вызываете непогрешимость папы] , Ubuntu [Католические люди] старается убедиться, что вы действительно вы [действительно папа].

Да, я знаю, что непогрешимость папы (даже если она нормативная) носит декларативный характер; параллель не идеальна.

Попытка сделать что-то, как root с sudo (или polkit), имеет большое значение - Ubuntu не просто позволит этому ускользнуть, как все в другой раз вы запускаете программу.

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

Помимо , напоминать вам о необходимости быть осторожным , это защищает от двух сценариев:

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

Я слышал о su. Что это такое? Могу ли я использовать это?

su аутентифицируется как другой пользователь и запускает команду (или запускает интерактивную оболочку). Можно ограничить , кому разрешено использовать su, но su аутентифицируется с помощью пароля учетной записи target , а не пароля пользователя, который работает.

Например, su username -c 'command...' запускает command... как имя пользователя , так же как sudo -u username command....

Но когда вы запускаете команду как username с sudo, Вы вводите свой пароль . Когда вы запускаете команду как username с su, вы вводите username пароль .

Поскольку su выполняет аутентификацию для целевого пользователя , с su вы можете запускать команды только как пользователи , чьи учетные записи включены .

Учетная запись root (например, www-data и nobody) по умолчанию отключена. Нет пароля, который будет работать для входа в систему как root. Поэтому вы не можете использовать su для запуска команд как root.

Вы можете использовать su для запуска команд в качестве другого пользователя, который может войти в систему (который обычно включает в себя все учетные записи пользователей в вашей системе, которые представляют людей).

Когда вы вошли как гость, вы не можете использовать su вообще.

Объединение su и sudo

Кто-то, кто не является администратором, может даже использовать su для запуска sudo в качестве администратора. (Это нормально, хотя, поскольку им нужен пароль администратора для запуска команд от имени администратора.) То есть, пользователь с ограниченными правами может использовать su для запуска sudo для запуска команды как root. Это может выглядеть следующим образом:

su username -c 'sudo command...'

(запуск графических программ таким образом требует особого внимания .)

Не будет su более безопасным способом запуска команды как root?

Вероятно, нет.

Что, если пользователю нельзя разрешить действовать как root?

Сделать его ограниченным пользователем вместо администратора.

Что делать, если программа, выполняемая от имени администратора, пытается sudo - root?

Если вы не перенастроили sudo, чтобы он успешно выполнялся без пароля, произойдет сбой.

Разве не может быть запущена программа, которая не должна запускаться как root с использованием недавней команды sudo, поэтому пароль не требуется?

Это вряд ли удастся. В наши дни большинство операционных систем (включая Ubuntu) настроили sudo по умолчанию так, чтобы временные метки применялись только в определенном контексте.

Например, если я запускаю sudo ... на одной вкладке «Терминал» и успешно аутентифицируюсь, sudo на другой вкладке (или запускается несвязанной программой с графическим интерфейсом, или что я запускаю из виртуальной консоли или сеанса SSH) все равно будет запрашивать для пароля. Даже если он запускается сразу после этого.

Разве программа, работающая от имени пользователя X, не имеет доступа к паролю пользователя X?

Нет.

Если вредоносная программа может запускаться от имени администратора, не может ли она «прослушать» то, что вводится, когда администратор аутентифицируется с помощью sudo или polkit?

Потенциально, да. Но затем он мог «прослушать» пароль, введенный для su.

Если я скажу кому-то свой пароль -

Не говорите людям свой пароль.

Что, если кто-то должен знать мой пароль, чтобы что-то делать от моего имени, но я не хочу позволять им администрировать систему?

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

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

Итак, самым безопасным было бы запретить sudo и su и заставить людей входить в систему как root, вручную?

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

Кроме того, точно так же, как потенциально вредоносная программа может наблюдать за тем, что кто-то печатает при запуске sudo или su, или создавать поддельную подсказку sudo / su пароля, потенциально Вредоносная программа может также создать поддельный экран входа в систему.

Что делает пользователя администратором?

Членство в группах.

В Ubuntu 12.04 и более поздних версиях администраторы являются членами группы под названием sudo.

В Ubuntu 11.10 и более ранних версиях администраторы являются членами группы под названием admin.

Когда система Ubuntu до 12.04 обновляется до 12.04 или новее, группа admin сохраняется для обратной совместимости (и продолжает предоставлять административные полномочия пользователям в ней), но также используется группа sudo.

Ограниченные учетные записи пользователей

Можно ли использовать ограниченную учетную запись пользователя вместо учетной записи администратора?

Если хотите, обязательно. Создайте ограниченную учетную запись пользователя в Системные настройки > Учетные записи пользователей и войдите в систему как этот пользователь.

Можно ли сделать мою учетную запись администратора ограниченной учетной записью пользователя?

Да, просто удалите ее из групп sudo и admin (см. Выше).

Но вы должны убедиться, что есть хотя бы одна другая учетная запись администратора, чтобы вы могли администрировать свою систему. Если нет, тогда вам придется загрузиться в режиме восстановления или на live CD и снова сделать какого-то пользователя администратором . (Этот аналогичен сбросу сброса утерянного пароля администратора .)

Графические инструменты для администрирования пользователей и групп обычно удерживают вас от создания Система без администраторов, или, по крайней мере, предупредить вас. Инструменты командной строки обычно не работают (полагая, что вы знаете, что делаете).

0
ответ дан 20 January 2013 в 16:50

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

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