bashで一定時間操作しないと自動的にログアウトするには
ログインしたまま長時間席を外すことは、セキュリティの面からも好ましくない。bashには、一定時間操作しないと自動的にログアウトする機能があるので、会社などでLinuxを使っている場合は、その機能を活用してセキュリティに気を配りたいものだ。
UNIXサーバへのログイン時には,「login:」などのプロンプトが表示されている場合に入力がない状態が続くと,自動的にタイムアウトされる。このタイムアウトするまでの時間は,/etc/login.defsを次のように編集すればよい。
/etc/login.defs 〜中略〜 # Max time in seconds for login # LOGIN_TIMEOUT 60 # 〜中略〜 |
また,個々のユーザー別ではログイン後のタイムアウト設定にも注意したい。シェル環境変数「TMOUT」を編集すると秒数を指定可能だ(ただしbashの場合。tcshでは「autologout」)。設定秒数が経過すると,「"timed out waiting for input: auto-logout"」という表示と共に自動ログアウトされる。
一定時間ターミナルを操作しないと自動的にログアウトするようにさせるには、TMOUTというシェル変数に待ち時間をセットする。単位は秒だ。例えば、以下のようにTMOUTに600を指定すると、10分間(600秒間)入力がないと自動的にログアウトされる。
$ export TMOUT=600 $ timed out waiting for imput: auto-logout |
10分間入力がないとメッセージを表示してログアウトする |
TMOUT変数は、.bashrcなどに設定しておくといいだろう。なお、TMOUTを0にした場合はログアウトしない。
机の前から離れ,不用意にほかの人に操作されないようにする手段として見直しておくとよいだろう。