autologout.sh

Diesen Beitrag schrieb ich 11 Jahre und 6 Monate zuvor; die nachfolgenden Ausführungen müssen heute nicht unbedingt noch genau so funktionieren. Behalte das beim Lesen (und vor allem: beim Nachmachen!) bitte stets im Hinterkopf.

Geschätzte Lesezeit: 1 Minute

Wer kennt das nicht: da betreut man Serversysteme, auf denen sich permanent x Leute tummeln, und die lassen ihre SSH-Logins einfach offen bis ultimo… Nicht, dass das in der heutigen Zeit noch zu wirklichen Engpässen führen würde in Hinblick auf Ressourcen, aber es erhöht den Verwaltungsaufwand doch ungemein, beispielsweise wenn Wartungsarbeiten anstehen – von sicherheitskritischen Aspekten (insbesondere in Umgebungen, die root-Logins nicht verbieten) mal ganz abgesehen. Schaut man sich /etc/profile einmal näher an, so stellt man fest, dass Scripte, die in /etc/profile.d liegen, automatisch beim Login ausgewertet werden; so kann man beispielsweise ein kleines Dingelchen erstellen mit folgendem Inhalt:

## file: "/etc/profile.d/autologout.sh"
readonly TMOUT="900" && export TMOUT

Anschließend das Teil mit den richtigen Rechten versehen und ausführbar machen:

$ chmod 0755 /etc/profile.d/autologout.sh

Loggen sich nun User ein, die die bash verwenden, wird die Variable TMOUT automatisch auf 900 (= Zeit in Sekunden, bis Logout bei Inaktivität erfolgt) gesetzt. Und das Nette ist: die User können das mit einem simplen unset nicht einfach umgehen.

$ unset TMOUT
-bash: unset: TMOUT: cannot unset: readonly variable

Sprich: entweder, sie arbeiten aktiv, oder aber sie werden nach einer Viertelstunde gekickt. Wie ich feststellen durfte ein kleines, aber nettes Feature, das viele nicht kennen – das allerdings sehr vielseitig verwendbar ist.

Und damit verabschiede ich mich in ein langes Wochenende…