ホームページ >システムチュートリアル >Linux >ユーザーが長期間非アクティブになることを防ぐために、Linux に自動ログアウト方法を導入
このようなシナリオを想像してみましょう。ネットワーク上のさまざまなシステムから多くのユーザーが頻繁にアクセスするサーバーがあります。一部のユーザーがセッションからログアウトするのを忘れ、セッションを開いたままにする可能性があります。ユーザー セッションを接続したままにすることがいかに危険であるかは、誰もが知っています。一部のユーザーはこれを使用して、システムに損害を与える行為を意図的に行う場合があります。そして、システム管理者であるあなたは、ユーザーがログアウトしたかどうかを確認するためにすべてのシステムを訪問しますか?実際、これはまったく不要です。また、ネットワーク内に数百、数千のマシンがある場合、これには時間がかかりすぎます。ただし、ユーザーが一定期間マシンまたは SSH セッションで非アクティブになった場合に、ユーザーを自動的にログアウトさせることができます。このチュートリアルでは、Unix のようなシステムでこれを行う方法を説明します。全然難しいことではありません。私と一緒にやりましょう。
Linux で一定期間が経過した非アクティブなユーザーの自動ログアウトを実装する
これを実現するには 3 つの方法があります。まず最初の方法を見てみましょう。
方法 1:
~/.bashrc または ~/.bash_profile ファイルを編集します:
リーリー ###または、### リーリー次の行を追加します:
リーリーこれにより、100 秒間の非アクティブ状態が続くと、ユーザーは自動的にログアウトされます。必要に応じてこの値を定義できます。ファイルを保存して閉じます。
次のコマンドを実行して変更を有効にします:
リーリー ###または、### リーリー次に、セッションを 100 秒間アイドル状態にします。非アクティブ状態が 100 秒続くと、以下のメッセージが表示され、ユーザーはセッションから自動的にログアウトします。
リーリーこの設定はユーザーが簡単に変更できます。 ~/.bashrc ファイルはユーザー自身が所有しているためです。
タイムアウト設定を変更または削除するには、上で追加した行を削除し、source ~/.bashrc コマンドを実行して変更を有効にします。
さらに、ユーザーは次のコマンドを実行してタイムアウトを無効にすることもできます:
リーリー ###または、### リーリーユーザーがこの設定を変更できないようにするには、代わりに次の方法を使用します。
方法 2:
root ユーザーとしてログインします。autologout.sh という名前の新しいファイルを作成します。
リーリー
次のコンテンツを追加します:
リーリー
ファイルを保存して終了します。
実行可能権限を追加します:
リーリー次に、ログアウトするか、システムを再起動します。非アクティブなユーザーは 100 秒後に自動的にログアウトされます。一般のユーザーは、セッション接続を保持したい場合でも、この構成を変更することはできません。 100 秒後に強制終了します。
両方の方法は、ローカル セッションとリモート セッションの両方で機能します (つまり、ユーザーがローカルでログインし、ユーザーがリモート システムで SSH 経由でログインしている)。ローカル セッションからは自動的にログアウトせずに、非アクティブな SSH セッションのみを自動的にログアウトする方法を見てみましょう。
方法 3:
このようにすると、一定期間非アクティブな状態が続いた場合にのみ、SSH セッション ユーザーが自動的にログアウトされます。/etc/ssh/sshd_config ファイルを編集します:
リーリー
次の行を追加/変更します:
リーリー
ファイルを保存して終了します。変更を有効にするには、sshd サービスを再起動します。
次に、ssh 経由でリモート システムにログインします。 100 秒後、ssh セッションが自動的に終了し、次のメッセージが表示されます:
リーリーこれで、リモート システムから SSH 経由でこのシステムにログインした人は、非アクティブ状態が 100 秒続くと自動的にログアウトされます。
以上がユーザーが長期間非アクティブになることを防ぐために、Linux に自動ログアウト方法を導入の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。