Linux でログインタイムアウト後に非アクティブなユーザーを自動的にログアウトする

Linux でログインタイムアウト後に非アクティブなユーザーを自動的にログアウトする

方法1: .bashrcまたは.bash_profileファイルを変更する

これは、ホーム ディレクトリの .bashrc または .bash_profile ファイルを変更することで実現できます。 2 つのファイルのうち 1 つを選択し、最後に次の行を追加します。具体的な操作は次のとおりです。

[GeekDevOps@GeekDevOps /]$ cd ~
[GeekDevOps@GeekDevOps ~]$ echo "TMOUT=90">>.bashrc 
[GeekDevOps@GeekDevOps ~]$ ソース .bashrc

上記のコードでは、.bashrc ファイルを選択しました。.bash_profile を選択した場合も、操作手順は同じです。上記では、ユーザーの自動ログアウト時間を 90 秒に設定しました。90 秒後、画面には次のように表示されます。

[GeekDevOps@GeekDevOps ~]$ 入力待機中にタイムアウトしました: 自動的にログアウトします 接続を閉じます...ソケットを閉じます。
外部ホストによって接続が閉じられました。
16:38:48にリモートホスト(10.1.1.21:22)から切断されました。

方法2: SSH設定ファイルを変更して実装する

ssh は Linux システムでよく使用されるツールです。ssh 設定ファイル/etc/ssh/sshd_config次のようにタイムアウト自動ログアウト機能を実装することもできます。

[root@GeekDevOps ~]# vim /etc/ssh/sshd_config

次の 2 行を見つけます。

#クライアントアライブ間隔 90
#クライアントアライブカウント最大 3

コメントを削除し、次の番号を変更します。

クライアントアライブ間隔 60
クライアントアライブカウント最大 5

保存して終了したら、ssh サービスを再起動します。

[root@GeekDevOps ~]# サービス sshd を再起動します

この方法では、root 以外のすべてのユーザーに対して 60 秒のログイン タイムアウトが発生し、自動的にログアウトされます。最初の行は、5 回の非アクティブ検出後に接続が切断されることを示し、2 行目は、5 回の非アクティブ検出後に接続が切断されることを示します。

方法3: SSH設定ファイルを変更して実装する

/etc/profile ファイルに TMOUT フィールドを追加し、/etc/profile をソースします。

TMOUT=300
TOMOUTをエクスポート

方法4: スクリプトを作成する

root としてログインし、autologout.sh という新しいファイルを作成します。

vim /etc/profile.d/autologout.sh

次のコンテンツを追加します。

TMOUT=100
読み取り専用 TMOUT
エクスポート TMOUT

ファイルを保存して終了し、実行権限を付与します。

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

次に、ログアウトするか、システムを再起動します。非アクティブなユーザーは 100 秒後に自動的にログアウトされます。通常のユーザーがセッション接続を維持したい場合でも、この構成を変更することはできず、100 秒後に強制的にログアウトされます。

要約する

上記は、Linux でログイン タイムアウト後に非アクティブなユーザーを自動的にログアウトする方法について紹介したものです。お役に立てば幸いです。ご質問がある場合は、メッセージを残してください。すぐに返信いたします。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。
この記事が役に立ったと思われた方は、ぜひ転載していただき、出典を明記してください。ありがとうございます!

以下もご興味があるかもしれません:
  • Linux でタイムアウト付きの接続関数を試す
  • Linux で pip 操作中にタイムアウトが発生する問題を解決する方法
  • Linux での接続タイムアウト処理 (概要)
  • Linux シェル スクリプトを使用して MySQL タイムアウトを定期的に処理する

<<:  JavaScriptのモジュール性を理解する方法

>>:  Windows 7 で Python 3.4 を使って MySQL データベースを使用する

推薦する

MySQL ファントムリードとその排除方法の詳細な説明

目次トランザクション分離レベルファントムリーディングとは何ですか?ファントムリードを排除する方法要約...

Centos7 での Mysql5.7.19 の詳細なインストールチュートリアル

1. ダウンロード公式サイトからmysql-5.7.19-linux-glibc2.12-x86_6...

Linuxシステムにおけるプロセス管理の詳細な説明

目次1. プロセスとスレッドの概念2. プロセス管理とは何ですか? 3. プロセス管理の役割4. L...

JavaScript マウスイベントのケーススタディ

マウスイベントマウスが特定の操作を実行すると、イベント オブジェクトが生成され、イベントがトリガーさ...

Vueのref属性の詳細な説明

要約するこの記事はこれで終わりです。皆さんのお役に立てれば幸いです。また、123WORDPRESS....

Dockerはクロスプラットフォーム機能を実現するためにnet5プログラムを導入

展開環境: ここでは docker コンテナ、Linux システム、VmWare 仮想マシンが使用さ...

DevUI で独自の Angular コンポーネント ライブラリを構築する方法

目次序文コンポーネントライブラリの作成主要な構成の変更ディレクトリレイアウトの調整ライブラリ構築のた...

JS はデータ URL をどのように理解するのでしょうか?

目次概要データ URL の使用を開始するデータURL構文複数言語の文字列のBase64エンコードとデ...

Vue で動的パラメータと計算プロパティを使用する方法

1. 動的パラメータ2.6.0 以降では、角括弧で囲まれた JavaScript 式をディレクティブ...

現在使用されている設定ファイル my.cnf を表示する mysql メソッド (推奨)

my.cnfは、MySQL の起動時に読み込まれる設定ファイルです。通常は MySQL インストー...

MYSQL クエリの効率を向上させる 10 の SQL ステートメント最適化テクニック

MySQL データベースの実行効率はプログラムの実行速度に大きな影響を与えます。データベースの効率的...

Dockerを使用してシンプルなJava開発およびコンパイル環境を構築する方法の詳細な説明

Java 言語には多くのバージョンがあります。一般的に使用されている Java 8 に加えて、一部の...

element-ui 写真をアップロードした後、座標点をマークします

要素UIとはelement-ui は、Ele.me のフロントエンド チームが開発者、デザイナー、製...

MySQL 8.0.12 クイックインストールチュートリアル

MySQL 8.0.12 のインストールには 2 日かかり、さまざまな問題が発生しました。以下にまと...

インデックスを使用して MySQL ORDER BY ステートメントを最適化する方法

テーブルの作成とインデックスの作成 テーブルtbl1を作成( id int ユニーク、sname v...