Каково различие между sudo X и выполнением X как корень?

Мой вопрос спрашивает относительно определенного наблюдения, что я хотел бы понять.

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

sudo R CMD javareconf

Затем я столкнулся с этим комментарием:

Используя sudo и работающий как корень не точно то же самое. – Jon7

Desparate, как я был, я попробовал его:

sudo su
R CMD javareconf

И к моему удивлению я внезапно мог установить тот пакет.


Извините за долгое введение, но я хотел дать Вам контекст для предотвращения ответов как здесь. Вопрос не стремится конкретно к описанному наблюдению - скорее в тех "вещах" в целом на Ubuntu.

Мой вопрос: Как это могло быть возможно? Каково различие между sudo X и runnding X как корень?

4
задан 23 May 2017 в 15:39

2 ответа

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

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

Sudo альтернатива su для выполнения команд как root. В отличие от этого, su, который запускает a root оболочка, которая позволяет все дальнейшие команды root доступ, sudo вместо этого предоставления временное расширение полномочий к единственной команде. Путем включения root полномочия только при необходимости, sudo использование уменьшает вероятность, что опечатка или ошибка в вызванной команде разрушат систему. Sudo может также привыкнуть к командам выполнения как другие пользователи; дополнительно, sudo журналы все команды и отказавшие попытки доступа для аудита безопасности.

Более подробная информация о Root Sudo может быть найден на Чиновнике Документацию Ubuntu

7
ответ дан 1 December 2019 в 09:15

Этот учебное руководство взято от исходной домашней страницы:

IMG:   Sudo вкратце

Sudo (su "делают") позволяет системному администратору давать определенным пользователям (или группы пользователей) способность выполнить некоторых (или все) команды как корень при входе всех команд и аргументов. Sudo работает на основе на команду, это не замена для оболочки. Его функции включают:

  • способность ограничить, что управляет, пользователь может работать на основании на хост.
  • Sudo делает обильное журналирование каждой команды, обеспечивая ясный журнал аудита того, кто сделал что. При использовании в тандеме с syslogd системный демон журнала, sudo может зарегистрировать все команды к центральному хосту (а также на локальном хосте). В CU все администраторы используют sudo вместо корневой оболочки для использования в своих интересах этого входа.
  • Sudo использует файлы метки времени для реализации системы "покупки билетов". Когда пользователь вызывает sudo и вводит их пароль, им предоставляют билет в течение 5 минут (этот тайм-аут настраивается во время компиляции). Каждая последующая команда sudo обновляет билет в течение еще 5 минут. Это избегает проблемы отъезда корневой оболочки, где другие могут физически добраться до Вашей клавиатуры. Существует также простой способ к пользователю удалить их файл билета, полезный для размещения в .logout файле.
  • конфигурационный файл Sudo, sudoers файл, является установкой таким способом, которым тот же sudoers файл может использоваться на многих машинах. Это допускает централизованное администрирование при хранении гибкости для определения полномочий пользователя на основе на хост. Посмотрите образцы sudoers файл ниже для реального примера.

Корень

корневая учетная запись UNIX все или ничего.

В вычислениях, суперпользователь является учетной записью специального пользователя, используемой для системного администрирования. В зависимости от операционной системы (OS) подлинное имя этой учетной записи могло бы быть корнем, администратором, администратором или супервизором. В некоторых случаях подлинное имя учетной записи не является определяющим фактором; в подобных Unix системах, например, пользователь с идентификатором пользователя (UID) нуля является суперпользователем, независимо от названия той учетной записи и в системах, которые реализуют модель безопасности на уровне ролей, любой пользователь с ролью суперпользователя (или ее синонимы) может выполнить все действия учетной записи суперпользователя. Принцип наименьшего количества полномочия рекомендует, что большинство пользователей и приложений, запущенных в соответствии с обычной учетной записью для выполнения их работы, поскольку учетная запись суперпользователя способна к внесению неограниченных, потенциально неблагоприятных, изменений в масштабе всей системы. <глоток> (a)

<глоток> (a) от https://en.wikipedia.org/wiki/Superuser

0
ответ дан 1 December 2019 в 09:15

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

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