名前によるプロセス数の制限

名前によるプロセス数の制限

プロセス名を使用して特定のグループまたはユーザーのプロセス数を制限できますか?例えば。グループに参加したいリモコン同時に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

おすすめ記事