Способы оплаты Abuse

Loginctl: основы и синтаксис

03.12.2022, 02:02

Программа loginctl входит в набор утилит systemd, позволяющих управлять системой. Она дает право управлять текущими сессиями пользователей, смотреть список активных пользователей, выполнять блокировку экрана или вообще прерывать сессии, завершать процессы пользователей. Не так давно с этой целью пользователи применяли несколько программ и конфигурационные файлы. Но уже сейчас все нужно собрано в одном месте. 

Основы loginctl

Программа loginctl дает право пользователю управлять всем, что имеет отношение к авторизации пользователей. В документации написано, что программа предназначена для управления менеджером входа в систему systemd-logind.

Утилита управляет:

  • пользователем (user) - пользователь, прошедший регистрацию в системе;
  • сессией (session) - вход пользователем в систему, каждый вход, за исключением sudo и su, расценивается как новая сессия. Можно пройти авторизацию нескольких TTY, по SSH. Вход в графическом менеджере тоже будет расцениваться как новая сессия;
  • местом (seat) - концепция, позволяющая подключить к PC несколько мониторов или устройств периферии, и использовать его разными юзерами в один момент. Но, как правило, это не используют, и программа отображает только одно рабочее место. 

Рассмотрим синтаксис и доступные опции loginctl.

Синтаксис loginctl

Синтаксис программы простой и понятный:

$ loginctl [options] command [arguments]

Вот команды, доступные для использования:

list-sessions – вывести список сессий.

session-status  – выводит состояние сессии, дату авторизации, информацию об основных запущенных сервисах и процессах.

show-session  – выводит настройки сессии.

activate  – позволяет переключиться на указанную сессию.

lock-session  – блокирует экран для указанной сессии; если ID сессии не задан, блокирует экран для текущей сессии.

unlock-session  – разблокирует экран для указанной сессии.

kill-session  – позволяет завершить сессию или отправить определённый сигнал всем процессам.

terminate-session  – завершает указанную сессию.

list-users – выводит список пользователей, которые авторизованы в данный момент.

user-status  – аналогично session-status, выводит дату авторизации, состояние и все запущенные процессы в виде дерева.

show-user  – выводит информацию о пользователе и его текущей сессии без запущенных процессов.

terminate-user  – завершает все сессии пользователя и все его процессы.

kill-user  – отправляет сигнал всем процессам пользователя, по умолчанию отправляется SIGTERM.

list-seats – вывести список рабочих мест.

seat-status  – выводит все процессы, запущенные в рамках указанного рабочего места.

show-seat  – выводит настройки рабочего места.

terminate-seat  – завершает все процессы рабочего места.

Настойка рабочих мест не станет рассматривать в рамках этого материал. Нет смысла приводить команды. Обращаем ваше внимание, что многие команды смогут исправно функционировать только в случае с графическим интерфейсом, в частности session-lock или session-unlock не поддерживается для TTY или SSH сессий. В следующей материале рассмотрим реальные примеры.