Tento krátký tutoriál vysvětluje tři různé způsoby automatického odhlášení neaktivních uživatelů po určité době v systémech Linux a Unix.
Představte si tento scénář. Spravujete sdílený server, ke kterému pravidelně přistupuje mnoho uživatelů ze všech systémů v síti.
Existuje šance, že se některý uživatel zapomene odhlásit ze své relace a nechá relaci otevřenou. Ponechání otevřené uživatelské relace je nebezpečné a někteří uživatelé ji mohou úmyslně zneužít.
Chtěli byste ručně zkontrolovat každý systém a ověřit, zda se uživatelé odhlásili nebo ne? Není to nutné! Je to také poměrně časově náročný úkol, pokud jsou ve vaší síti stovky počítačů.
Místo toho můžete přimět uživatele, aby se po určité době nečinnosti automaticky odhlásil z místní relace nebo relace SSH.
Automatické odhlášení neaktivních uživatelů v systému Linux
Neaktivní uživatelské relace po určité době můžeme automaticky odhlásit třemi způsoby. Podívejme se na první metodu.
Metoda 1:
Upravte ~/.bashrc
nebo ~/.bash_profile
soubor:
$ nano ~/.bashrc
Nebo,
$ nano ~/.bash_profile
Na konec přidejte následující řádek:
TMOUT=100

Nakonfigurujte hodnotu časového limitu uživatele v systému Linux
Díky tomu se uživatel automaticky odhlásí po nečinnosti 100 sekund. Tuto hodnotu můžete definovat, jak vám vyhovuje. Stiskněte ESC
a zadejte :wq
uložte soubor a zavřete jej.
Aplikujte změny spuštěním následujícího příkazu:
$ source ~/.bashrc
Nebo,
$ source ~/.bash_profile
Nyní nechte relaci nečinnou po dobu 100 sekund. Po nečinnosti 100 sekund se zobrazí následující zpráva a uživatel bude automaticky odhlášen z relace.
timed out waiting for input: auto-logout Connection to 192.168.122.181 closed.

Automatické odhlášení neaktivních uživatelů v Linuxu
Toto nastavení může uživatel snadno upravit. Protože, ~/.bashrc
soubor je vlastněn samotným uživatelem.
Chcete-li upravit nebo odstranit nastavení časového limitu, jednoduše odstraňte řádky přidané výše a aplikujte změny spuštěním následujícího příkazu:
$ source ~/.bashrc
Alternativně to může uživatel zakázat spuštěním následujících příkazů:
$ export TMOUT=0
Nebo,
$ unset TMOUT
Protože nastavení časového limitu je uloženo v uživatelsky vlastněném ~/.bashrc
soubor, může jej snadno obejít jednoduchým smazáním řádku. Pokud chcete uživateli zabránit ve změně nastavení, postupujte podle druhého způsobu.
Metoda 2:
Přihlaste se jako root
uživatel.
Vytvořte nový soubor s názvem "autologout.sh"
.
# vi /etc/profile.d/autologout.sh
Přidejte následující řádky:
TMOUT=100 readonly TMOUT export TMOUT
Uložte a zavřete soubor.
Udělejte jej jako spustitelný pomocí příkazu:
# chmod +x /etc/profile.d/autologout.sh
Aby se změny projevily, odhlaste se nebo restartujte systém.
Neaktivní uživatel bude po 100 sekundách automaticky odhlášen. Běžný uživatel nemůže toto nastavení změnit, i když chtěl zůstat přihlášený v relaci. Budou vyhozeny přesně po 100 sekundách.
Tyto dvě metody jsou použitelné pro lokální i vzdálenou relaci, tj. lokálně přihlášené uživatele nebo uživatele přihlášené ze vzdáleného systému přes SSH.
V další metodě se podíváme na to, jak automaticky odhlásit pouze neaktivní relace SSH, nikoli místní relace.
Metoda 3:
V této metodě přimějeme uživatele relace SSH k odhlášení pouze po určité době nečinnosti.
Upravte /etc/ssh/sshd_config
soubor:
$ sudo vi /etc/ssh/sshd_config
Přidejte/upravte následující řádky:
ClientAliveInterval 100 ClientAliveCountMax 0
Stiskněte ESC
a zadejte :wq
uložit a zavřít tento soubor. Restartujte službu sshd, aby se změny projevily.
$ sudo systemctl restart sshd
Nyní ssh do tohoto systému ze vzdáleného systému. Po 100 sekundách se relace ssh automaticky ukončí a zobrazí se následující zpráva:
$ Connection to 192.168.122.181 closed by remote host. Connection to 192.168.122.181 closed.
Od této chvíle bude každý, kdo přistupuje k tomuto systému ze vzdáleného systému přes SSH, automaticky odhlášen po nečinnosti 100 sekund.