Подробное руководство по смене пользователя в Linux терминале
В Linux, управление пользователями – ключевой аспект системного администрирования. Необходимо знать, как переключить пользователя в терминале Linux. Это позволяет работать с разными учетными записями, не закрывая текущую сессию.
Основные команды для смены пользователя
- su (switch user): Простейший способ сменить текущего пользователя. Например, `su root` требует пароль.
- sudo (superuser do): Позволяет выполнить команду с правами администратора (root). Требует пароль текущего пользователя.
- login: Запускает новую сессию.
Различия между su и sudo
su полностью меняет пользовательский профиль, а sudo – временно повышает права доступа.
Для получения информации о текущем пользователе используйте команды: whoami, id, groups.
Далее, вы можете расширить статью, включив:
- Подробное описание каждой команды (su, sudo, login).
- Информацию о файлах `/etc/passwd` и `/etc/shadow`.
- Альтернативные способы переключения пользователей (например, через графический интерфейс).
- Объяснение работы с альтернативными терминалами (ctrl+alt+f1 ― ctrl+alt+f7).
- Упоминание о мультиплексорах терминала (screen, tmux).
- Информацию о systemd и управлении сервисами.
- Обсуждение безопасности и аутентификации.
Обязательно добавьте примеры использования команд и советы по безопасному переключению пользователей. Помните о необходимости баланса между полнотой информации и заданным ограничением по количеству символов.

Как мы уже упоминали, смена пользователя в терминале Linux – важный навык для любого, кто работает с этой операционной системой. Рассмотрим подробнее, как переключить пользователя, используя различные инструменты и команды.
Команда su: Полная смена личности
Команда su (switch user) позволяет вам полностью принять пользовательский профиль другого пользователя. Например, `su username` потребует пароль пользователя `username`. Если вы просто введете `su`, то, по умолчанию, попытаетесь стать пользователем root. После успешной аутентификации, ваша оболочка (например, bash или zsh) будет работать от имени нового пользователя. Важно помнить, что su загружает пользовательский профиль (включая переменные окружения) целевого пользователя. Чтобы вернуться к текущему пользователю, просто наберите `exit` или нажмите Ctrl+D. Однако, будьте осторожны, используя su без указания имени пользователя, так как это может предоставить вам права администратора (root) без явного подтверждения.
Команда sudo: Временное повышение прав доступа
sudo (superuser do) – более гибкий и безопасный способ выполнения команд с повышенными правами доступа. В отличие от su, sudo требует пароль текущего пользователя (если, конечно, ваш пользователь добавлен в список sudoers); Использование sudo позволяет выполнить одну или несколько команд от имени root, не переключаясь полностью на его учетную запись. Например, `sudo apt update` обновит список пакетов, требуя права администратора. sudo сохраняет часть окружения текущего пользователя, что может быть полезно в некоторых случаях. Конфигурация sudo хранится в файле `/etc/sudoers`, который редактируется с помощью команды `visudo` для предотвращения ошибок.
Команда login: Новая сессия пользователя
Команда login запускает новую сессию пользователя. Это означает, что вам будет предложено ввести имя пользователя и пароль. После успешной аутентификации, будет создана новая сессия, аналогичная той, что возникает при входе в систему. login часто используется в консоли (например, доступной через ctrl+alt+f1 ― ctrl+alt+f7, так называемые альтернативные терминалы). В отличие от su, login не требует, чтобы вы уже были залогинены под другим пользователем.
Управление пользователями: useradd, userdel, usermod
Для управления пользователями в Linux используются команды useradd (добавление пользователя), userdel (удаление пользователя) и usermod (изменение информации о пользователе). Эти команды обычно требуют права администратора (root) и позволяют создавать, удалять и редактировать учетные записи пользователей. Информация о пользователях хранится в файле `/etc/passwd`, а зашифрованные пароли – в `/etc/shadow`. Непосредственное редактирование этих файлов не рекомендуется; используйте специальные утилиты.
Информация о пользователе: id, whoami, groups
Команды id, whoami и groups предоставляют информацию о текущем пользователе. whoami показывает имя текущего пользователя. id показывает идентификатор пользователя (UID), идентификатор группы (GID) и список групп, в которых состоит пользователь. groups показывает только список групп, в которых состоит пользователь.
Альтернативные терминалы и мультитерминальность
Linux поддерживает мультитерминальность, позволяя вам одновременно работать в нескольких терминалах. Вы можете переключаться между альтернативными терминалами, используя комбинации клавиш ctrl+alt+f1 ⎼ ctrl+alt+f7. Обычно, графическая среда (например, gdm, sddm или lightdm) запускается на терминале F7. Это позволяет вам работать в командной строке, даже если графический интерфейс не работает.
Мультиплексоры терминала: screen и tmux
Мультиплексоры терминала, такие как screen и tmux, позволяют создавать несколько сессий внутри одного терминала. Это особенно полезно при remote access (например, через ssh или, устаревший и небезопасный, telnet). screen и tmux позволяют вам запускать процессы в background, отсоединяться от сессии и возвращаться к ней позже. Вы можете запустить длительный процесс, отсоединиться от сессии, закрыть терминал и вернуться к процессу позже.
Управление процессами: jobs, kill, suspend, resume
В терминале Linux вы можете управлять процессами. Команда `&` позволяет запустить процесс в background. Команда `jobs` показывает список запущенных в background процессов. Команда `kill` позволяет завершить процесс, используя его идентификатор (PID). Команды Ctrl+Z (suspend) и `fg` (foreground) и `bg` (background) позволяют приостанавливать и возобновлять процессы.
Systemd и управление сервисами
systemd – современная система инициализации в Linux, заменяющая устаревшие init и runlevel. systemd управляет сервисами и процессами в системе. Команда `systemctl` позволяет запускать, останавливать и перезапускать сервисы. Например, `systemctl restart sshd` перезапустит сервис SSH. Для работы с systemctl обычно требуются права администратора.
Безопасность, аутентификация и авторизация
Безопасность – критически важный аспект управления пользователями в Linux. Аутентификация (подтверждение личности пользователя) и авторизация (определение прав доступа пользователя) – ключевые компоненты безопасности. Используйте надежные пароли, регулярно обновляйте систему и следите за правами доступа пользователей. Не предоставляйте пользователям ненужные права администратора. Рассмотрите использование двухфакторной аутентификации для повышения безопасности.
Смена оболочки: chsh
Команда chsh (change shell) позволяет изменить оболочку пользователя. Например, `chsh -s /bin/zsh` изменит оболочку текущего пользователя на zsh. Для изменения оболочки другого пользователя требуются права администратора.
Логин и выход: login, logout, exit
Логин используется для входа в систему, а logout (или exit) – для выхода. В графической среде, logout обычно закрывает сессию пользователя. В терминале, exit закрывает оболочку и может завершить сессию, если это была единственная оболочка.
Для дополнительной информации и более глубокого изучения темы, рекомендуем посетить ресурсы linuxphone.ru и orikat.com.
