14

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

Так в чем же разница?

6 ответов6

7

su (и sudo) традиционно требуется пароль root . Однако вы можете настроить sudo чтобы обычные пользователи могли получить права root с помощью своего собственного пароля, изменив /etc/sudoers (как root, предпочтительно с помощью visudo).

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

3

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

3

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

Команда sudo предназначена для выполнения одной команды с разрешениями любого пользователя. Это не должно быть корнем тоже. Команда очень настраиваема и обеспечивает некоторый точный контроль доступа. Ввод собственного пароля не является обязательным и настраивается. Некоторый дистрибутив позволяет первому пользователю системы выполнить с sudo все.

2

Чтобы добавить к ответам выше,

su user1 с паролем пользователя будет переключать ваши учетные данные на user1 до тех пор, пока вы не введете команду exit, просто su по умолчанию примет root.

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

1

Не все обычные пользователи могут использовать sudo, они должны быть в файле sudoers, и вы можете контролировать, какие команды или типы команд может выполнять пользователь. Кроме того, только определенные пользователи могут использовать su для переключения на пользователя root. Обычно вы имеете права sudo только для ограниченного набора команд и полные права su в течение ограниченного периода времени.

-2

Только пользователи с привилегиями суперпользователя могут sudo или su, обычные пользователи не могут. Это настраивается в /etc /sudoers, который всегда должен редактироваться с помощью visudo.

Преимущества этой системы:

  1. Привилегированный пользователь может легко запускать команды от имени root только при необходимости,
  2. затрудняет угадывание имени пользователя root (например, если простой ssh-бот попытается войти в системный root это будет первое имя для входа в систему).
  3. Несколько пользователей в общей системе могут иметь права root без необходимости обмениваться паролями.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .