Гид по технологиям

Как сменить пользователя в Linux — su, sudo и графический интерфейс

• 6 min read • Linux • Обновлено 24 Nov 2025
Как сменить пользователя в Linux — su, sudo и GUI
Как сменить пользователя в Linux — su, sudo и GUI

Изменение пользователя в Linux: интерфейс и команды

Краткий обзор: зачем и когда менять пользователя

Linux — многопользовательская система. Переключение между пользователями нужно для:

  • выполнения административных действий под superuser (root);
  • доступа к файлам или окружению другого пользователя;
  • тестирования настроек под учётной записью с ограниченными правами;
  • организации рабочих сессий на одной машине (несколько одновременных логинов).

Опции зависят от задачи: интерактивная работа требует полноценной сессии (su), выполнение одной команды — sudo -u, а если нужен рабочий стол — используйте возможности окружения рабочего стола.

su — полная смена сессии

Команда su (substitute user) позволяет «стать» другим пользователем в текущей сессии. Основной синтаксис:

su [опции] [имя_пользователя]

Если имя пользователя не указано, su по умолчанию пытается переключиться на root:

su

Чтобы переключиться на конкретную учётную запись:

su testuser

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

Проверка результата:

whoami
echo $USERNAME

Ожидаемый вывод:

testuser

Если вам нужно выполнить одну команду от имени другого пользователя, используйте флаг -c:

su -c 'chmod +w /Downloads' testuser

Добавление дефиса (-) при вызове su создаёт «login»-окружение целевого пользователя: переменные окружения, домашняя директория и начальный шелл будут соответствовать его настройкам:

su - testuser

Чтобы сменить оболочку при переключении:

su testuser -s /bin/zsh

Важно: su требует знания пароля целевой учётной записи (если не используется root без пароля). На современных дистрибутивах часто рекомендуется sudo вместо su для более тонкой гранулярности прав.

sudo -u — выполнять команды от имени другого пользователя

sudo был спроектирован для безопасного делегирования отдельных команд и аудита. Для смены пользователя применяют опцию -u:

sudo -u username command

Примеры:

sudo -u testuser chmod 777 /Documents
sudo -u testuser /bin/zsh

Если нужно просто войти в оболочку от имени другого пользователя и у вас есть соответствующие права в /etc/sudoers, можно запустить:

sudo -i -u testuser

Отличия и советы:

  • sudo более аудитируем: записи в журнале укажут, кто и когда выполнял команду;
  • su даёт полную сессию целевого пользователя, sudo по умолчанию выполняет отдельную команду;
  • используйте sudo для делегирования отдельных задач без передачи пароля целевого пользователя;
  • настройка через visudo позволяет ограничить конкретные команды для группы пользователей.

Графическая смена пользователя (GNOME и KDE)

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

Как переключиться в GNOME:

  1. Нажмите на стрелку вниз в правом верхнем углу экрана.
  2. Выберите пункт «Выключение/Выйти» (Power Off/Log Out) или аналогичный пункт меню.
  3. Нажмите «Сменить пользователя».

Переход к переключению пользователей в GNOME

GNOME выведет список доступных учётных записей. Выберите нужную и введите пароль для входа.

Список пользователей в GNOME: выбрать учётную запись для входа

Как переключиться в KDE Plasma:

  1. Откройте Меню приложений (Application Launcher).
  2. В правом нижнем углу нажмите «Выход».
  3. В появившемся меню выберите «Сменить пользователя».

Переключение пользователя в KDE: меню Leave / Switch User

После этого вы попадёте на экран входа — выберите учётную запись стрелками и введите пароль.

Примечание: в других окружениях (XFCE, MATE, Cinnamon) схожая логика: меню пользователя → выход → смена пользователя.

Таблица сравнения: su vs sudo vs GUI

Сценарийsusudo -uGUI (GNOME/KDE)
Интерактивная сессия другого пользователяДаЧастично (через запуск оболочки)Да (новый сеанс)
Выполнение одной командыМенее удобноУдобно, аудитНе применимо
Требует пароль целиДа (обычно)Нет (использует пароль инициатора или политику sudo)Да (пароль целевой сессии)
Аудит и логированиеОграниченоПодробный через sudo журналыЗависит от системы

Частые проблемы и как их решать

  • su: «Authentication failure» — проверьте правильность пароля и принадлежность пользователя к /etc/passwd; убедитесь, что root доступен.
  • sudo: «user is not in the sudoers file» — используйте root или другого администратора, чтобы добавить запись в /etc/sudoers через visudo.
  • GUI: отсутствует кнопка «Сменить пользователя» — проверьте настройки входа/выхода или используйте дисплейный менеджер (gdm, sddm) для включения переключения пользователей.
  • Права на файлы недоступны после su - — учтите, что окружение и переменные сменились; проверьте HOME и $PATH.

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

Безопасность и лучшие практики

  • Минимизируйте прямой вход в root; вместо этого предоставляйте права через sudo с ограничением команд.
  • Отключайте прямой root-доступ по SSH и используйте sudo для удаленной администрирования.
  • Ограничивайте список команд в /etc/sudoers, когда это возможно (пример: команда для перезапуска службы, но не общий shell).
  • Ведите аудит: используйте rsyslog/journald для логов sudo и мониторьте попытки аутентификации.

Короткий чек-лист безопасности для администратора:

  • Проверить, кому разрешён sudo (группа sudo/adm).
  • Запретить root-login по SSH.
  • Настроить логирование sudo.
  • Ограничить доступ к /etc/sudoers через visudo.

Ментальные модели: когда выбирать инструмент

  • Если нужно «полностью стать» другим пользователем и работать как он — su (- или без дефиса для сохранения окружения).
  • Если нужно безопасно выполнять одну команду от имени другого — sudo -u.
  • Если требуется быстро перейти на рабочий стол другого пользователя — GUI переключение.

Мини-методология для администраторов

  1. Оцените задачу: интерактивная сессия или одноразовая команда.
  2. Если одноразовая команда — используйте sudo -u.
  3. Если нужно тестировать окружение пользователя — су - username или sudo -i -u username.
  4. Для пользователей, не имеющих пароля, настройте sudoers вместо передачи пароля.
  5. Проверьте результат командой whoami и переменными окружения.

Критерии приёмки (тесты)

  • При переключении на пользователя testuser команда whoami возвращает testuser.
  • При выполнении sudo -u testuser id -u возвращается uid testuser.
  • При использовании su - testuser переменная $HOME соответствует домашней директории testuser.
  • Графическое переключение переводит на экран входа и позволяет войти под другой учётной записью без завершения фоновых задач текущего пользователя.

Быстрая шпаргалка: команды

# Войти как root
su

# Сменить на пользователя testuser (интерактивно)
su testuser

# Сменить и получить login-окружение
su - testuser

# Выполнить команду от имени другого пользователя
su -c 'command' testuser
sudo -u testuser command

# Получить интерактивную оболочку через sudo
sudo -i -u testuser

# Проверки
whoami
id
echo $HOME

Глоссарий (1 строка)

  • su — смена пользователя в текущей сессии;
  • sudo — выполнение команд с повышенными правами по политике конфигурации;
  • login-окружение — набор переменных и начальных настроек пользователя при входе.

Когда подходы не работают — галерея крайних случаев

  • Удалённый сервер без настроенного sudo и без доступа к root: потребуется физический доступ или загрузка в single-user режим.
  • Локальная система с отключённым GUI: используйте tty и команды su/sudo.
  • Шелл целевого пользователя недоступен (отсутствует в /etc/shells): su -s может не сработать; проверьте доступные оболочки.

Резюме

Переключение между пользователями в Linux — базовый навык администратора и пользователя. Для интерактивной работы используйте su, для одиночных команд — sudo -u, а для рабочего стола — возможности GNOME, KDE и других окружений. Всегда отдавайте предпочтение минимально необходимым привилегиям и настраивайте аудит действий через sudo.

Важно: протестируйте выбранный метод на тестовой учётной записи перед применением в продакшн-среде.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро