Четверг, 11 августа, 2022
Google search engine
ДомойАдминистрированиеРазница между sudo и su

Разница между sudo и su

Введение

Команды sudo и su относятся к группе команд, с которыми сталкивается каждый пользователь Linux. Поскольку они похожи по синтаксису и имеют перекрывающиеся функции, многие новые пользователи не знают, когда использовать одно вместо другого.

В этом руководстве вы узнаете все о различиях между su и sudo.

sudo и su

И su, и sudo повышают привилегии, назначенные текущему пользователю.

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

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

Как использовать команду su

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

Основной синтаксис:

su [user_name]

или

su - [user_name]

Если команда используется без аргумента, она переключается на учетную запись суперпользователя (root).

Переключитесь на пользователя root с помощью команды su.

Как работает команда su?

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

Например, чтобы работать от имени пользователя infosharing, выполните:

su infosharing

Затем укажите пароль для infosharing и нажмите Enter.

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

Как работает команда su – ?

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

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

su - infosharing

Введите пароль для учетной записи infosharing и нажмите Ввод для подтверждения. Результат должен выглядеть примерно так, как показано на следующем изображении:

Примечание. Дополнительные атрибуты, позволяющие перейти к другому пользователю и его интерфейсу входа, включают: su - l (или >--логин) [имя пользователя].

Как использовать команду sudo

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

Для выполнения всех административных и исполняемых задач требуются максимальные права доступа (имеющиеся у root). В таких случаях рекомендуется использовать sudo.

Основной синтаксис:

sudo [команда]

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

Помните, что параметр sudo может использоваться только пользователями, которые входят в группу sudoers.

Добавление пользователя в группу Sudoers

Чтобы пользователь мог выполнить команду, для которой требуется префикс sudo, он должен входить в группу sudoers.

Чтобы добавить пользователя в группу sudoers, выполните следующую команду (от имени root или учетной записи, у которой уже есть права sudo):

usermod -aG sudo [user_name]

Например, чтобы добавить учетную запись infosharing, введите:

sudo usermod -aG sudo infosharing

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

группа sudo getent sudo

Вывод должен отображать учетную запись, добавленную на предыдущем шаге:

Список пользователей в группе sudoers.

Как sudo и su работают в разных дистрибутивах Linux

su — более старая, но более полнофункциональная команда, включенная во все дистрибутивы Linux. Это традиционный способ переключения на учетную запись root.

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

Во время установки ОС Ubuntu yВы создаете пользователя, автоматически помечаемого как часть группы sudoers. Однако нет настройки учетной записи root. Чтобы включить пользователя root, вам необходимо активировать его вручную.

С другой стороны, другие дистрибутивы Linux, такие как Fedora, при установке создают учетную запись root и пользователя.

Включение корневой учетной записи

Если вы используете дистрибутив на основе Ubuntu и пытаетесь переключиться на пользователя root, вывод информирует вас о ошибке аутентификации.

Ошибка аутентификации при попытке перейти к привилегированному пользователю в Ubuntu.


Чтобы активировать пользователя root, запустите команда passwd:

sudo passwd root

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

Как включить пользователя root в Ubuntu.

Убедитесь, что пользователь root активен, переключив на него его оболочку входа с помощью su -.

Переключитесь на пользователя root в Ubuntu.

Дополнительные функции

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

sudo -i

Введите пароль текущего пользователя. Теперь вы должны быть в корневой оболочке.

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

Заключение

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

RELATED ARTICLES

ОСТАВЬТЕ ОТВЕТ

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

- Advertisment -
Google search engine

Most Popular

Recent Comments