Program loginctl je součástí sady nástrojů systemd, které umožňují správu systému. Dává vám právo spravovat aktuální uživatelské relace, zobrazovat seznam aktivních uživatelů, zamykat obrazovku nebo relace úplně přerušit a ukončovat uživatelské procesy. Ještě nedávno k tomuto účelu uživatelé používali několik programů a konfiguračních souborů. Nyní však máme vše potřebné na jednom místě.
Program loginctl dává uživateli právo spravovat vše, co souvisí s oprávněním uživatele. V dokumentaci se uvádí, že program je určen pro správu správce přihlašování systemd-logind.
Nástroj spravuje:
uživatel (user) - uživatel, který se přihlásil do systému;relaci (session)- přihlášení uživatele do systému, každé přihlášení, s výjimkou sudo a su, je považováno za novou relaci. Je možné autentizovat více TTY, a to prostřednictvím SSH. Přihlášení do grafického správce se rovněž považuje za novou relaci;seat- koncept, který umožňuje připojit k počítači více monitorů nebo periferií a používat je různými uživateli současně. Zpravidla se však nevyužívá a program zobrazuje pouze jedno pracoviště.Podívejme se na syntaxi a dostupné možnosti programu loginctl.
Syntaxe programu je jednoduchá a přímočará:
$ loginctl [options] command [arguments]
Zde jsou příkazy, které lze použít:
seznam relací - vypisuje seznam relací.
session-status - zobrazí stav relace, datum autorizace, informace o hlavních spuštěných službách a procesech.
show-session - zobrazí nastavení relace.
activate - umožňuje přepnutí do zadané relace.
lock-session - uzamkne obrazovku pro zadanou relaci; pokud není zadáno ID relace, uzamkne obrazovku pro aktuální relaci.
unlock-session - odemkne obrazovku pro zadanou relaci.
kill-session - umožňuje ukončit relaci nebo poslat určitý signál všem procesům.
terminate-session - ukončí zadanou relaci.
list-users - zobrazí seznam uživatelů, kteří jsou aktuálně autorizováni.
user-status - podobně jako session-status zobrazí datum autorizace, stav a všechny běžící procesy ve formě stromu.
show-user - zobrazí informace o uživateli a jeho aktuální relaci bez běžících procesů.
terminate-user -ukončí všechny uživatelské relace a všechny uživatelské procesy.
kill-user - odešle signál všem uživatelským procesům, ve výchozím nastavení je odeslán signál SIGTERM.
list-seats - zobrazí seznam úloh.
seat-status - zobrazí všechny procesy běžící na zadaném pracovišti.
show-seat - zobrazí nastavení pracoviště.
terminate-seat -ukončí všechny procesy daného pracoviště.
Nastavením pracoviště se v rámci tohoto materiálu nebudeme zabývat. Nemá smysl tyto příkazy citovat. Upozorňujeme, že řada příkazů může správně fungovat pouze v případě grafického rozhraní, zejména příkazy session-lock nebo session-unlock nejsou podporovány pro relace TTY nebo SSH. V příštím článku se podíváme na reálné příklady.