Введение
Утилита su
(замена или переключение пользователя) позволяет вам выполнять команды с привилегиями другого пользователя, по умолчанию пользователя root.
Использование su
— это самый простой способ переключиться на учетную запись администратора в текущем сеансе входа в систему. Это особенно полезно, когда пользователь root не авторизован для входа в систему через ssh или с помощью диспетчера отображения с графическим интерфейсом.
В этом уроке мы объясним, как использовать команду su
.
Как использовать команду su
Общий синтаксис команды su
следующий:
su [OPTIONS] [USER [ARGUMENT...]]
При вызове без каких-либо параметров поведение su
по умолчанию заключается в запуске интерактивной оболочки от имени пользователя root:
su
Вам будет предложено ввести пароль root, и в случае аутентификации пользователь, выполнивший команду, временно станет root.
Чтобы подтвердить, что пользователь изменился, используйте команду whoami
:
whoami
Команда напечатает имя пользователя, выполняющего текущий сеанс оболочки:
root
Наиболее часто используемая опция при вызове su
-
, -l
, --login
. Это превращает оболочку в оболочку входа в систему со средой, очень похожей на реальный вход в систему, и изменяет текущий каталог:
su -
Если вы хотите запустить другую оболочку вместо той, которая определена в файле passwd
, используйте параметр -s
, --shell
. Например, чтобы перейти к root и запустить оболочку zsh
, введите:
su -s /usr/bin/zsh
Чтобы сохранить всю среду ( HOME
, SHELL
, USER
и LOGNAME
) текущего пользователя, используйте параметр -p
, --preserve-environment
.
su -p
-
использовании параметра -p
параметр -p игнорируется.
Если вы хотите запустить команду от имени замещающего пользователя без запуска интерактивной оболочки, используйте параметр -c
, --command
. Например, чтобы вызвать команду ps
от имени пользователя root, введите:
su -c ps
Чтобы переключиться на другую учетную запись пользователя, передайте имя пользователя в качестве аргумента su
. Например, чтобы переключиться на пользователя noviello
, введите:
su noviello
Судо против Су
В некоторых дистрибутивах Linux, таких как Ubuntu, учетная запись пользователя root по умолчанию отключена из соображений безопасности. Это означает, что пароль root не установлен, и вы не можете использовать su
для переключения на root.
Одним из вариантов переключения на root может быть добавление sudo
к команде su
и ввод пароля текущего пользователя, вошедшего в систему:
sudo su -
Команда sudo
позволяет запускать программы от имени другого пользователя, по умолчанию это пользователь root.
Если префикс sudo
, команда su
будет вызываться от имени пользователя root. Запуск sudo su -
с использованием пароля пользователя аналогичен запуску su -
с паролем root.
При использовании с параметром -i
sudo
запускает интерактивную оболочку входа в систему со средой пользователя root:
sudo -i
sudo -i
почти такой же, как su -
.
Преимущество использования sudo
по сравнению с su
заключается в том, что пароль root не нужно использовать совместно с несколькими учетными записями администраторов.
Кроме того, с помощью sudo
вы можете разрешить пользователям запускать только определенные программы с привилегиями root.
Вывод
su
— это утилита командной строки, которая позволяет вам временно стать другим пользователем и выполнять команды с новым пользователем.