Linuxでしばらくアクティブでないユーザーを自動的にログインさせる方法の紹介
このようなシーンを想像してみましょう。ネットワーク内の各システムの多くのユーザーによくアクセスされるサーバがあります。一部のユーザーがセッションを登録し忘れてセッションを接続状態に保つ可能性があります。接続状態のユーザー・セッションを残すことがどんなに危険なことかはよく知られています。一部のユーザーは、システムを破損させることを故意に行う可能性があります。あなたは、システム管理者として、システムごとにユーザーがログインしているかどうかをチェックしますか?実はこれは全く必要ありません。また、ネットワークに何百台もの機械があれば、時間がかかりすぎます。ただし、本機またはSSHセッションで一定時間以上アクティブでない場合に自動的にログインすることができます。このチュートリアルでは、クラスUnixシステムでこれを実現する方法について説明します。ちっとも難しくない。私と一緒にしてください。
Linux上で一定時間後に自動的に非アクティブなユーザーを登録
3つの実現方法がある。まず最初の方法を見てみましょう。
方法1:
$ vi ~/.bashrc
編集~/.bashrcまたは~/.bash_プロファイルファイル:
$ vi ~/.bash_profile
または、
TMOUT=100
次の行を追加します。
これにより、ユーザは動作を停止してから100秒後に自動的にログアウトする。必要に応じてこの値を定義できます。ファイルを保存して閉じます。
$ source ~/.bashrc
次のコマンドを実行して、変更を有効にします。
$ source ~/.bash_profile
または、
timed out waiting for input: auto-logout Connection to 192.168.43.2 closed.
セッションを100秒間アイドル状態にします。100秒がアクティブでないと、次のメッセージが表示され、ユーザーは自動的にセッションを終了します。
この設定は、ユーザによって容易に変更することができる。なぜならbashrcファイルはユーザー自身が所有しています。
タイムアウト設定を変更または削除するには、上に追加する行を削除してsource~/.bashrcコマンドは、変更を有効にします。
$ export TMOUT=0
また、次のコマンドを実行してタイムアウトを禁止することもできます。
$ unset TMOUT
または、
ユーザーがこの設定を変更するのを阻止するには、次の方法を使用します。
方法2:
# vi /etc/profile.d/autologout.sh
rootユーザーでログインします。
TMOUT=100 readonly TMOUT export TMOUT
Autologoutという名前を作成します。shの新しいファイル。
次の内容を追加します。
# chmod +x /etc/profile.d/autologout.sh
ファイルを保存して終了します。
実行可能権限を追加します。
今、システムをログインまたは再起動します。非アクティブなユーザーは100秒後に自動的にログインします。通常のユーザーは、セッション接続を保持したい場合でも、この構成を変更できません。彼らは100秒後に強制的に脱退します。
この2つの方法は、ローカル・セッションとリモート・セッションの両方に適用されます(すなわち、ローカル・ログインしたユーザーと、リモート・システム上でSSHでログインしたユーザー)。次に、非アクティブなSSHセッションのみを自動的にログアウトし、ローカルセッションを自動的にログアウトしない方法を見てみましょう。
$ sudo vi /etc/ssh/sshd_config
方法3:
ClientAliveInterval 100 ClientAliveCountMax 0
この方法では,SSHセッションユーザを一定期間非アクティブにした後に自動的にログアウトさせるだけである.
$ sudo systemctl restart sshd
編集/etc/ssh/sshd_configファイル:
$ Connection to 192.168.43.2 closed by remote host. Connection to 192.168.43.2 closed.
次の行を追加/変更します。
ファイルを保存して終了します。sshdサービスを再起動して変更を有効にします。