プロセス名を使用して特定のグループまたはユーザーのプロセス数を制限できますか?例えば。グループに参加したいリモコン同時に5つだけSSH私のサーバーで実行されているプロセス。オプションは表示されません。pam_restrictions(プロセス名に関係なく、ユーザーまたはグループごとのプロセス数のみを制限できます。)機能は表示されません。cgroup。
これを達成する方法についてのアイデアはありますか? (クローンのスクリプトは私の答えではありません:))
ベストアンサー1
名前でプロセス数を制限する方法はわかりませんが、pam_limitsを介してユーザーのログイン数を制限すると、全体的な目標を達成できます。
/etc/security/limits
次の項目
@remotes hard maxlogins 5
リモートグループのユーザーは、システムに5つ以上のログインセッションを持つことはできません。 SSHセッションの多重化を防ぐために、sshd_configでMaxSessions = 1とペアリングできます。
別のオプションは、起動するサービスインスタンスを制限できるように、サービスマネージャ、initシステム、またはスーパーサーバーでsshdサービスを実行することです。 edvinas.meでxinetdに言及しました。 xinetd で sshd を実行すると、完全にテストされていない次の xinetd 構成フラグメントは、SSH インスタンスの総数を 20 に制限します。
service ssh
{
socket_type = stream
protocol = tcp
wait = no
user = root
server = /usr/sbin/sshd
server_args = -i
per_source = UNLIMITED
instances = 20
}
と一緒にsystemdソケットデバイスを使用すると、同様の効果が得られますMaxConnections=20
。