Как работает администратор / root / superuser в Linux?

Мы учились Windows, когда учились в школе. Затем я выбрал курс бакалавриата по вычислительной технике, где мы были вынуждены использовать Linux вместо Windows. Они никогда не учили основам Linux и напрямую начали преподавать программирование. Это было не так сложно для меня, потому что я был немного знаком с Linux. Но все-таки у меня есть некоторые сомнения относительно административной или корневой или суперпользовательской системы в Linux. Теперь мой вопрос состоит из нескольких разных вопросов. Итак, вот оно:

  1. Я знаю, что # (хеш) в терминальном подсказке означает, что он работает как суперпользователь, а $ (доллар) означает, что это не так. Но даже если моя учетная запись является учетной записью администратора, я не вижу # в моей подсказке с терминалом. Вместо этого я должен войти в систему, используя команду su чтобы иметь права администратора. Почему это?

  2. Установка файла bz2
  3. Fedora дает мне список установок Fedora во время загрузки
  4. Wi-Fi на Fedora проблемы
  5. Как исправить очень сломанную личинку?
  6. Убедитесь, что жесткий диск зашифрован в Linux
  7. Справочные руководства по настройке сети в Fedora / CentOS / RHEL?
  8. Являются ли термины Administrator, root и superuser одинаковыми? Я запутался, потому что в Windows есть только один администратор терминов, и если ваша учетная запись является учетной записью администратора, то вы в основном входите в систему с правами администратора все время, т.е. вам не нужно явно входить в систему как администратор, в отличие от Linux.

  9. У нас установлен Ubuntu на компьютерах колледжа, где, если вам нужно войти в систему как администратор, тогда вы вводите su а затем запрашиваете пароль, в котором вы должны ввести свой текущий пароль учетной записи, чтобы стать суперпользователем. Но мне не понравился дизайн Ubuntu, поэтому я переключился на Fedora и установил на моем ноутбуке, где установка попросила у меня два пароля, один для моей обычной учетной записи (с правами администратора), а другой для пользователя root. Значит ли это, когда я должен войти в систему как администратор, используя мою обычную учетную запись, тогда я должен войти в свой пароль «root» вместо обычного пароля? И если это так, почему программное обеспечение запросило мой обычный пароль, если он не даст мне права администратора напрямую?

РЕДАКТИРОВАТЬ:

Может ли кто-нибудь объяснить мне систему администратора в Linux? Что такое корень? Почему у меня нет прав администратора, несмотря на то, что я администратор?

  • Почему долгая задержка после того, как команда не найдена?
  • Идентификатор сервера MySQL не устанавливается с помощью Fedora 16
  • удалить опцию восстановления Windows из меню grub на fedora?
  • Как удалить записи GRUB2 в Fedora 16?
  • Как изменить язык интерфейса терминала?
  • Как создать отдельный раздел для моего / домашнего каталога?
  • 3 Solutions collect form web for “Как работает администратор / root / superuser в Linux?”

    Каждая учетная запись в системе Unix / Linux имеет числовой идентификатор, «идентификатор пользователя» или UID. По соглашению UID 0 (ноль) называется «root», и ему предоставляются специальные привилегии (как правило, разрешение на доступ к чему-либо в системе).

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

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

    Это также помогает ограничить распространение вредоносного ПО. Если ваш веб-браузер работает под UID 0 – «как root», мы говорим – тогда ошибка программирования может быть использована удаленными веб-сайтами для полного контроля над вашим компьютером. Поддержание «регулярных» учетных записей пользователей, которые наносят ущерб.

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

    Теперь это оставляет вопрос о том, как вы можете получить доступ к защищенным вещам в качестве пользователя без полномочий root. Существует два основных способа: su и sudo . Первый требует пароль root, а второй, в обычной конфигурации, требует вашего пароля. Часто бывает, что вы используете sudo для запуска одной команды «как root», а не для перехода на учетную запись root для всего сеанса. (Вы также можете сделать это с помощью su -c , что вы часто увидите в документации.) Для долгого обсуждения относительных достоинств этих статей см., Что является самым безопасным способом получения прав root: sudo, su или login? , (И для полноты существуют другие механизмы, которые не являются sudo, но работают одинаково, например PackageKit, обычно используемые для приложений GUI.)

    Вы спрашиваете, совпадают ли термины «root», «superuser» и «administrator». «Корень» и «суперпользователь» в основном есть. Если быть точным, можно сказать: «Учетная запись root – суперпользователь, потому что она имеет UID 0.»

    «Администратор» может означать одно и то же, но в Fedora мы * используем его несколько иначе. Не каждый пользователь системы имеет право получать привилегии root через sudo. В Fedora в настройках по умолчанию члены группового wheel могут это сделать. И в установщике, и в документации, и в других местах мы называем это «учетной записью администратора». Тот, который не является root, но имеет право доступа к привилегиям root.

    (О, и одна последняя вещь: что # vs $ в вашем приглашении – только визуальное соглашение и не является окончательным. Вы можете изменить переменную среды PS1 чтобы сделать подсказку всевозможными вещами.)

    * Я работаю над Fedora.

    1. Проблема безопасности, см. https://askubuntu.com/questions/16178/why-is-it-bad-to-login-as-root

    2. да

    3. su позволяет запускать команды с заменяющим пользователем, при вызове без аргументов он по умолчанию запускает интерактивную оболочку с правами root. См. http://www.linfo.org/su.html. Для этого вам нужен пароль root.

      Вы можете обойти это, запустив sudo su (если вам разрешено запустить это). Sudo позволяет разрешенному пользователю выполнять команду в качестве суперпользователя или другого пользователя, как указано в политике безопасности. (указан в файле / etc / sudoers). Подробнее здесь: https://www.sudo.ws/man/1.8.15/sudo.man.html

      Итак, для ваших окончательных вопросов. Что касается первого, да. Но большинство людей предпочитают использовать sudo для удобства. А что касается окончательного: я не уверен, что вы имеете в виду, но предпочтительнее иметь разные пароли для разных учетных записей.

    Windows и Linux так же не управляют правами администратора.

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

    В Linux (и других Unix-системах) задачи системного администрирования могут выполняться только пользователем root . Это учетная запись пользователя, предназначенная для системных задач, а не для входа в систему. Пользователь root определяется его идентификатором пользователя, который равен 0 (учетная запись обычно называется root , но это идентификатор пользователя, который делает ее особенной, а не имя). Администратор – это пользователь, имеющий право доступа к учетной записи root.

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

    • Команда su позволяет любому пользователю получить доступ к учетной записи root, если они знают пароль для учетной записи root. В некоторых настройках только определенным пользователям, которые являются членами группы, традиционно называемой wheel , разрешено использовать su для запуска команд с правами root.
    • Команда sudo позволяет пользователю запускать команды как root, если они объявлены в файле конфигурации sudo ( sudoers ) либо напрямую, либо через членство в группе. Обычно sudo требует, чтобы пользователь вводил свой собственный пароль; это в основном, чтобы избежать использования sudo прохожим, если пользователь оставил свой терминал без присмотра.

    Поэтому, если у вас есть учетная запись администратора в Linux, это означает, что вам разрешено запускать sudo или su для запуска команд с правами root. Когда вы не выполняете команды с правами root, у вас есть обычные привилегии.

    Linux и Unix - лучшая ОС в мире.