Способи оплати 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 сесій. У наступному матеріалі розглянемо реальні приклади.