/etc/security/limits.confを変更しました。
test hard maxlogins 2
sftptest hard maxlogins 2
上記の項目の後、次のシナリオをテストしました。
- 2つのパテセッションを開いて3番目のセッションを開こうとすると、自動的に切断されます(sftpユーザーではなくsshユーザーではうまく機能します)。
- filezilla / winscp接続で3番目のセッションを開こうとすると、2つのパテセッションが自動的に切断されます(sshユーザーとうまく機能します)。 3. filezilla/winscpで3番目のセッションを開こうとすると、3つのセッションを開くことができます(使用できません)
- sftpユーザーを使用してfilezilla / winscpで3つのセッションを開こうとすると、3つのセッションをすべて開くことができます。 PuttyクライアントとWinscp / filezillaの間に違いはありますか? -SSH ユーザーにはシェルログインがありますが、sftp ユーザーにはシェルログインはありません。
SFTPユーザーの接続2を制限できますか?
私はLinuxに初めて触れました。
答え1
このユーザーのプロセス数を制限できます。 scpの間、root、sshd、およびsftptest(あなたの場合)ユーザーを使用して3つのプロセスが作成されます。
したがって、/etc/security/limits.confでこのユーザーの最大プロセス数を制限できます。
sftptest hard nproc 2
認証されると接続がブロックされるため、これは非常に効率的なアプローチではありません。
答え2
これが確実な答えかどうかはわかりませんが:
- ログインシェルを作成するために「ssh」(またはコンソール/gettyを介したアクセス)が必要です。
- ログインシェルを作成するためにsftp(またはXウィンドウセッションでターミナルエミュレータを起動する)はしたくありませんが、シェルを起動したいと思います。
ログインシェルと非ログインシェルの間には大きな違いがあります。 「ログインシェル」は起動時に設定ファイルを実行しますが、非ログインシェルはそうではありません(シェルrcファイルを実行します)。
私はこの2つのセッションタイプを区別する基本的なメカニズムについてはかなり曖昧であることを認めなければなりません。しかし、Linuxではpam_limits.soを介して制限が適用されると思います。