Суперпользователь за одну команду: Раскрываем все секреты su в Linux

Суперпользователь за одну команду: Раскрываем все секреты su в Linux

Вы когда-нибудь сталкивались с ситуацией, когда система наотрез отказывается устанавливать программу или менять настройки? Знакомое чувство раздражения? Всё просто: вам не хватает прав. Но выход есть, и он буквально в двух символах от вас.

Команда `su` — это ваш пропуск в мир безграничных возможностей Linux. Это не просто смена пользователя, это мощнейший инструмент для управления системой. Хотите быстро обновить пакеты, настроить сеть или получить доступ к защищенным файлам? `su` сделает это за секунду.

Мы не будем грузить вас скучной теорией. Вы узнаете, как одной командой превратиться в суперпользователя root, даже если вы работаете под обычной учетной записью. Поймете разницу между простым `su` и `su -` — это критически важно для безопасности и корректной работы приложений.

А что, если вам не нужны все права админа, а нужно выполнить всего одну команду? И с этим `su` справляется на ура. Мы покажем, как запустить любое приложение от имени другого пользователя, не покидая свою сессию.

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

Готовы перестать бороться с системой и начать ею управлять? Весь потенциал команды `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

Суперпользователь за одну команду: Раскрываем все секреты su в Linux

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

su -

Суперпользователь за одну команду: Раскрываем все секреты su в Linux

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

su user01

Суперпользователь за одну команду: Раскрываем все секреты su в Linux

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

su - user01

Суперпользователь за одну команду: Раскрываем все секреты su в Linux

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

su -s /usr/bin/zsh user01

Суперпользователь за одну команду: Раскрываем все секреты su в Linux

Суперпользователь за одну команду: Раскрываем все секреты su в Linux

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

su -s /usr/bin/bash user01

Суперпользователь за одну команду: Раскрываем все секреты su в Linux

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

su -c ‘mc’ user01

Суперпользователь за одну команду: Раскрываем все секреты su в Linux

Суперпользователь за одну команду: Раскрываем все секреты su в Linux

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

su -c ‘ls /boot’

Суперпользователь за одну команду: Раскрываем все секреты su в Linux

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

Суперпользователь за одну команду: Раскрываем все секреты su в Linux

Выводы

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

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

Оставить комментарий


Кликните на изображение чтобы обновить код, если он неразборчив