Команда su в Linux

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

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

Команда su Linux

Команда имеет следующий синтаксис:

su [options] [-] [user]

Если вызов команды происходит без аргументов, то происходит смена пользователя оболочки shell на суперпользователя root. Программа выдаст приглашение ввода пароля, если пароль будет верным, то текущим пользователем станет root.

  • options — некоторые дополнительные возможности команды. Мы их рассмотрим ниже:
  • [-] — смена контекста выполнения оболочки на контекст указанного пользователя. Переменные $PATH, $HOME, $SHELL, $USER, $LOGNAME содержат значения, характерные для указанного пользователя. Домашняя папка пользователя меняется на другую.
  • user — имя пользователя, под которым продолжит работать командная оболочка.

Основные опции команды su:

  • -c, --command=command — запускает приложение под указанным аккаунтом;
  • -s, --shell=shell — происходит запуск для заданного пользователя указанной оболочки;
  • -, -l, --login — смена контекста выполнения на контекст заданного пользователя, аналогична смене пользователя системы для shell;
  • -g, --group=group — вызов пользователя, состоящего в заданной группе. Используется только для пользователя root;
  • -h, --help — вызов справки для команды.

Далее давайте рассмотрим примеры работы с утилитой su.

Примеры использования su

Смена пользователя на суперпользователя root, без смены окружения оболочки:

su

Обратите внимание, что здесь вам нужно набрать пароль не своего пользователя, а именно того, от имени которого вы хотите авторизоваться. В данном случае, пользователя root. Если вы получаете ошибку сбой при проверке подлинности su linux, то это может означать, что либо вы ввели пароль неверно, либо пароль для этого пользователя не задан. Такое можно встретить у пользователя root в Ubuntu и Linux Mint. Информацию о том как установить пароль вы можете найти в этой статье. Смена пользователя на суперпользователя root со сменой параметров окружения оболочки:

su -

Смена пользователя на пользователя user01:

su user01

Смена пользователя на пользователя user01 со сменой окружения:

su - user01

Запуск оболочки zsh для пользователя user01:

su -s /usr/bin/zsh user01

Запуск оболочки bash из оболочки zsh для пользователя user01:

su -s /usr/bin/bash user01

Запуск файлового менеджера Midnight Commander для пользователя user01:

su -c ‘mc’ user01

Просмотр содержимого директории boot суперпользователем root:

su -c ‘ls /boot’

Чтобы выйти из оболочки, открытой командой su можно использовать встроенную команду exit или сочетание клавиш Ctrl+d.

Выводы

Сегодня вы узнали что из себя представляет команда su linux, которая позволяет запустить оболочку от имени другого пользователя, как со сменой окружения, так и без. Узнали как выйти из этой оболочки.

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

6 комментариев

  1. Аватар Никита 18 февраля, 2020 Ответить
    • Аватар Valery 19 февраля, 2020 Ответить
  2. Аватар Sint 18 февраля, 2020 Ответить
  3. Аватар Никита 20 февраля, 2020 Ответить
    • Аватар Valery 20 февраля, 2020 Ответить
  4. Аватар Vlad 20 февраля, 2020 Ответить

Ответить

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: