Linuxでグループ単位で自動ログアウト時間を設定する方法

この記事では、Linux環境でグループの自動ログアウト時間を設定する方法について詳しく説明します。Linuxでは、特定の時間が経過した後に自動的にユーザーをログアウトする機能がありますが、これをグループ単位で設定する方法はあまり一般的に知られていません。具体的なコード例、その解説、および応用例を含めて詳しく説明していきます。

目次

基本的な設定方法

Linuxで自動ログアウトを設定する基本的な方法は、環境変数`TMOUT`を設定することです。この変数に設定された時間(秒単位)が経過すると、シェルが自動的に終了します。

export TMOUT=600  # 600秒(10分)後に自動ログアウト

グループ単位での設定

特定のグループに所属するユーザー全員に対して、自動ログアウト時間を設定することも可能です。`/etc/profile.d/`ディレクトリ内に設定スクリプトを作成する方法が一般的です。

# /etc/profile.d/auto_logout.sh
if [ "$(id -gn)" == "特定のグループ名" ]; then
  export TMOUT=300
fi

応用例

以下は、自動ログアウトの時間を設定するためのいくつかの応用例です。

応用例1: 複数のグループで異なる時間を設定する

一つのLinuxシステムで複数のグループがある場合、各グループで異なるログアウト時間を設定したいことがあります。

# /etc/profile.d/auto_logout.sh
if [ "$(id -gn)" == "グループA" ]; then
  export TMOUT=300
elif [ "$(id -gn)" == "グループB" ]; then
  export TMOUT=600
fi

応用例2: 管理者グループは自動ログアウトしないようにする

管理者(rootやsudoer)は、長時間操作が必要な場合もあるため、自動ログアウトしないように設定することがあります。

# /etc/profile.d/auto_logout.sh
if [ "$(id -u)" != "0" ]; then  # rootでなければ
  export TMOUT=300
fi

応用例3: インタラクティブな作業のみ自動ログアウトする

SSH接続でリモート作業をしていると、作業が中断されることなく長時間接続したい場合があります。

# /etc/profile.d/auto_logout.sh
if [ -n "$PS1" ]; then  # インタラクティブなシェルの場合
  export TMOUT=300
fi

応用例4: 環境変数でオーバーライド

ユーザーが独自にTMOUTを設定できるようにする場合、以下のように設定します。

# /etc/profile.d/auto_logout.sh
export TMOUT=${TMOUT:-300}  # TMOUTが未設定なら300秒

まとめ

Linuxでグループ単位で自動ログアウトの時間を設定する方法とその応用例について解説しました。この設定をうまく活用することで、セキュリティを高めつつ、作業効率も向上させることが可能です。

created by Rinker
オライリージャパン
¥3,080 (2024/05/18 22:08:39時点 Amazon調べ-詳細)

コメント

コメントする

目次