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

37

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

    
задан FirstName LastName 20.01.2013 в 02:48
источник

5 ответов

71

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

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

Учетные записи пользователей: человек и в противном случае

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

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

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

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

Самая важная учетная запись не для человека

суперпользователь , чье имя пользователя www-data , является учетной записью пользователя, отличной от человека, с очень конкретной комбинацией способностей и ограничений: всех способностей и никаких ограничений .

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

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

Могу ли я войти в систему как root ?

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

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

Можно настроить других нечеловеческих пользователей, например getent passwd , поэтому вы также можете войти в систему как они. Однако это довольно редко, тогда как в некоторых других Unix-подобных ОС обычно регистрируется как www-data в терминале . Риски, связанные с запуском целого графического интерфейса как root , в сочетании с тем, сколько графических программ не предназначены для работы в root и могут не работать должным образом, означают, что вы никогда не должны пытаться получить root -owned рабочий стол .

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

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

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


Системные настройки & gt; Учетные записи пользователей."Eliah Kagan" является администратором, поэтому он может делать вещи как root , но он не является root .

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

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

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

Sudo

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

sudo command...

Это предложит мне пароль my . (Пароль root , root не имеет его.)

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

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


Снимок экрана, иллюстрирующий необходимость использования root для выполнения административных задач. (На основе "Сэндвич" Рэндалл Мунро .)

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

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

Поскольку мне предлагается графически, не обязательно быть терминалом. Это один из способов запуска административных инструментов как gksudo gparted .

Polkit

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

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

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

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

Как отличается polkit

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

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

Polkit, неграфически

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

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

pkexec command...

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

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

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

Выполнение команд в качестве других пользователей Кроме pkexec

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

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

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

Запуск команд с sudo похож на вызов papal infalliblity .

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

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

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

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

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

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

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

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

Например, su запускает 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 . Это может выглядеть так:

su username -c 'sudo command...'

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

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

Возможно, нет.

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

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

Что делать, если программа, запущенная как администратор, пытается root to sudo ?

Если вы не переконфигурировали root , чтобы преуспеть без пароля, он не сработает.

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

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

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

Не работает ли у пользователя X доступ к паролю пользователя X?

Нет.

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

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

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

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

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

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

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

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

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

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

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

Групповое членство.

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

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

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

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

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

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

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

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

Но вы должны убедиться, что есть хотя бы одна другая учетная запись администратора, поэтому вы можете управлять своей системой. Если этого не происходит, вам придется загрузиться в режим восстановления или жить CD и сделать некоторых пользователей администратор снова . (Этот похож на < a href="https://ubuntugeeks.com/questions/1553/how-do-i-reset-a-lost-administrative-password"> сброс потерянного пароля администратора .)

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

    
ответ дан Eliah Kagan 20.01.2013 в 08:24
источник
4

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

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

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

    
ответ дан Richard 20.01.2013 в 04:55
3

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

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

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

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

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

sudo -i 

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

sudo <app_name>

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

    
ответ дан Ten-Coin 20.01.2013 в 04:44
3

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

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

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

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

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

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

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

  • Откройте учетные записи пользователя из системных настроек.
  • Выберите свою учетную запись в левом столбце.
  • Вы должны увидеть Administrator под именем учетной записи в обеих панелях для учетных записей администратора и Standard для обычных пользователей.
ответ дан Mahesh 20.01.2013 в 08:39
2

Нет.

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

    
ответ дан tomodachi 20.01.2013 в 03:01