Команда Su в Linux (переключение пользователя)
Утилита su
(сокращение от замены или переключения пользователя) позволяет запускать команды с привилегиями другого пользователя, по умолчанию пользователя root.
Использование su
— самый простой способ переключиться на административную учетную запись в текущем сеансе входа в систему. Это особенно удобно, когда пользователю root не разрешено входить в систему через ssh или с помощью диспетчера отображения графического интерфейса.
В этом руководстве мы объясним, как использовать команду su
.
Содержание
Как использовать команду su
Общий синтаксис команды su
следующий:
su [OPTIONS] [USER [ARGUMENT...]]
При вызове без каких-либо параметров по умолчанию su
запускает интерактивную оболочку от имени пользователя root:
su
Вам будет предложено ввести пароль root, и в случае аутентификации пользователь, выполняющий команду, временно станет пользователем root.
Переменные среды сеанса ( SHELL
) и home ( HOME
) устанавливаются из замещающей записи пользователя /etc/passwd
, и текущий каталог не изменяется.
Чтобы подтвердить изменение пользователя, используйте команду 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
игнорируется.
Если вы хотите запустить команду от имени замещающего пользователя без запуска интерактивной оболочки, используйте параметр -c
, --command
. Например, чтобы вызвать команду ps
от имени пользователя root, вы должны ввести:
su -c ps
Чтобы переключиться на другую учетную запись пользователя, передайте имя пользователя в качестве аргумента su
. Например, чтобы переключиться на пользователя tyrion
вы должны ввести:
su tyrion
SUDO против SU
В некоторых дистрибутивах Linux, таких как Ubuntu, учетная запись пользователя root по умолчанию отключена по соображениям безопасности. Это означает, что пароль для root не установлен, и вы не можете использовать su
для переключения на root.
Один из вариантов изменения на root — это добавить к команде su
sudo
и ввести пароль текущего пользователя:
sudo su -
Команда sudo
позволяет запускать программы от имени другого пользователя, по умолчанию root.
Если пользователю предоставлена sudo
Assessment, команда su
вызывается от имени пользователя root. Запуск sudo su -
и последующий ввод пароля пользователя имеет тот же эффект, что и запуск su -
и ввод пароля root.
При использовании с параметром -i
sudo
запускает интерактивную оболочку входа в систему со средой пользователя root:
sudo -i
sudo -i
в основном аналогичен запуску su -
.
Преимущество использования sudo
перед su
заключается в том, что пароль root не должен использоваться несколькими учетными записями административных пользователей.
С помощью sudo
вы также можете разрешить пользователям запускать только определенные программы с привилегиями root.
Выводы
su
— это утилита командной строки, которая позволяет вам временно стать другим пользователем и выполнять команды от имени замещающего пользователя.
Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.