GNU/Linux >> Linux の 問題 >  >> Linux

Linuxで一定期間後に非アクティブなユーザーを自動ログアウトする方法

この簡単なチュートリアルでは、LinuxおよびUnixライクなシステムで、特定の期間後に非アクティブなユーザーを自動ログアウトする3つの異なる方法について説明します。

このシナリオを想像してください。ネットワーク内のすべてのシステムから多くのユーザーが定期的にアクセスしている共有サーバーを管理しています。

一部のユーザーがセッションからログアウトするのを忘れて、セッションを開いたままにしておく可能性があります。ユーザーセッションを開いたままにしておくことは危険であり、一部のユーザーは意図的にそれを誤用する可能性があります。

すべてのシステムを手動でチェックして、ユーザーがログアウトしたかどうかを確認しますか?それは必要ない!また、ネットワークに数百台のマシンがある場合は、非常に時間のかかる作業です。

代わりに、特定の非アクティブ期間の後に、ユーザーがローカルセッションまたはSSHセッションから自動ログアウトするようにすることができます。

Linuxで非アクティブなユーザーを自動ログアウト

非アクティブなユーザーセッションは、3つの方法で一定時間後に自動ログアウトできます。最初の方法を見てみましょう。

方法1:

~/.bashrcを編集します または~/.bash_profile ファイル:

$ nano ~/.bashrc

または、

$ nano ~/.bash_profile

最後に次の行を追加します:

TMOUT=100

Linuxでユーザータイムアウト値を構成する

これにより、ユーザーは100秒間非アクティブになった後に自動的にログアウトします。この値は、都合に合わせて定義できます。 ESCを押します :wqと入力します ファイルを保存して閉じます。

次のコマンドを実行して、変更を適用します。

$ source ~/.bashrc

または、

$ source ~/.bash_profile

ここで、セッションを100秒間アイドル状態のままにします。 100秒間操作がないと、次のメッセージが表示され、ユーザーはセッションから自動的にログアウトされます。

timed out waiting for input: auto-logout
Connection to 192.168.122.181 closed.

Linuxで非アクティブなユーザーを自動ログアウトする

この設定は、ユーザーが簡単に変更できます。なぜなら、~/.bashrc ファイルはユーザー自身が所有しています。

タイムアウト設定を変更または削除するには、上記で追加した行を削除し、次のコマンドを実行して変更を適用します。

$ source ~/.bashrc

または、次のコマンドを実行してこれを無効にすることもできます。

$ export TMOUT=0

または、

$ unset TMOUT

タイムアウト設定はユーザー所有の~/.bashrcに保存されているため ファイル、s/彼は単に行を削除することによってそれを簡単にバイパスすることができます。ユーザーが設定を変更できないようにする場合は、2番目の方法に従ってください。

方法2:

rootとしてログインします ユーザー。

"autologout.sh"という名前の新しいファイルを作成します

# vi /etc/profile.d/autologout.sh

次の行を追加します:

TMOUT=100
readonly TMOUT
export TMOUT

ファイルを保存して閉じます。

コマンドを使用して実行可能ファイルにします:

# chmod +x /etc/profile.d/autologout.sh

変更を有効にするには、システムをログアウトまたは再起動します。

非アクティブなユーザーは、100秒後に自動的にログアウトされます。通常のユーザーは、セッションにログインしたままにしておきたい場合でも、この設定を変更することはできません。それらは100秒後に正確に破棄されます。

これらの2つの方法は、ローカルセッションとリモートセッションの両方に適用できます。つまり、ローカルでログインしているユーザー、またはSSH経由でリモートシステムからログインしているユーザーです。

次の方法では、ローカルセッションではなく、非アクティブなSSHセッションのみを自動的にログアウトする方法を確認します。

方法3:

この方法では、SSHセッションユーザーが特定の非アクティブ期間の後にのみログアウトするようにします。

/etc/ssh/sshd_configを編集します ファイル:

$ sudo vi /etc/ssh/sshd_config

次の行を追加/変更します:

ClientAliveInterval 100
ClientAliveCountMax 0

ESCを押します キーを押して:wqと入力します このファイルを保存して閉じます。 sshdサービスを再起動して、変更を有効にします。

$ sudo systemctl restart sshd

次に、リモートシステムからこのシステムにSSHで接続します。 100秒後、sshセッションは自動的に閉じられ、次のメッセージが表示されます。

$ Connection to 192.168.122.181 closed by remote host.
Connection to 192.168.122.181 closed.

今後、SSH経由でリモートシステムからこのシステムにアクセスするユーザーは、100秒間操作がないと、自動的にログアウトされます。


Linux
  1. Linuxで複数のユーザーアカウントを作成する方法

  2. Linuxでuseraddを使用してユーザーを管理する方法

  3. Linuxでユーザーとグループを操作する方法

  1. Linuxでユーザーをグループに追加する方法

  2. Linuxでユーザーを一覧表示する方法、すべてのユーザーを一覧表示するコマンド

  3. LinuxですべてのSudoユーザーを見つける方法

  1. UbuntuでLinuxユーザーを一覧表示する方法

  2. Linuxでユーザーを一覧表示する方法

  3. Linuxでユーザーを作成する方法(useraddコマンド)