一度にログインできるユーザー ID を 1 つだけにしますか?

一度にログインできるユーザー ID を 1 つだけにしますか?

一度に 1 つのユーザー ID のみが SSH 経由で Linux システムにログインできるようにする方法はありますか? その 1 つのユーザー ID は、SSH 経由でサーバーへの追加の接続を開くことができるはずです。

また、必要に応じて、ログインしているユーザーを退出させるメカニズムをすべてのユーザーに提供する方法も必要になります。

答え1

あなたが求めていることを実現する唯一の確実な方法は、カスタムPAMモジュール他のユーザーがログインしているかどうかを確認し、ログインしている場合はアクセスを拒否します。

設定ファイルを保護するためにこのような嫌な解決策を実装すると、している最も間違っている.
あなたが望むファイルロックUnix(マルチユーザータイムシェアリングシステム)の基盤モデルを破壊し、驚き最小の原則

答え2

次のように、IP レベルで同時接続数を制限することもできます。

iptables -A 入力 -p tcp --syn --dport 22 -m connlimit --connlimit-above 1 -j 拒否

これはあまり良い方法ではありません (タイムアウト値に達するまで接続が切断される可能性があります) が、うまくいくかもしれません。

また、他のユーザーのログアウトを強制することはありません。

全体的に - 悪い考えです。何か重要なものを終了してしまう可能性があります。

関連情報