Команда Su в Linux (смена пользователя)

Су-команда

Утилита su (сокращение от substitute или switch user) позволяет вам запускать команды с привилегиями другого пользователя, по умолчанию — пользователя root.

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

В этом уроке мы объясним, как использовать команду su .

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

Общий синтаксис команды su следующий:

 su [ OPTIONS ] [ USER [ ARGUMENT... ]]

При вызове без каких-либо параметров поведением su по умолчанию является запуск интерактивной оболочки от имени пользователя root:

 su

Вам будет предложено ввести пароль root, и в случае аутентификации пользователь, выполнивший команду, временно станет пользователем root.

Переменные окружения сеанса shell ( 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

Судо против Су

В некоторых дистрибутивах Linux, таких как Ubuntu, учётная запись root по умолчанию отключена из соображений безопасности. Это означает, что пароль для root не установлен, и вы не можете использовать su для переключения в режим root.

Одним из вариантов перехода на уровень root является добавление sudo к команде su и ввод пароля текущего вошедшего в систему пользователя:

 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 — это утилита командной строки, которая позволяет вам временно стать другим пользователем и выполнять команды от имени подмененного пользователя.

Если у вас есть вопросы или пожелания, не стесняйтесь оставлять комментарии.

терминал су sudo

Связанные руководства

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *