Wie kann die Anzahl der Prozesse begrenzt werden, die ein Benutzer starten kann?

10

Wir haben es versucht /etc/security/limits.conf, aber das scheint keine Wirkung zu haben.

Die verwendete Zeile für limits.conf sieht wie folgt aus:

myuser hard nproc 6

Das ist die Konfiguration für einen Server. Ich möchte die gestarteten Prozesse begrenzen. Ulimit begrenzt die Prozesse, die von der Shell aus gestartet werden (wenn ich das richtig verstehe). Aber in meinem Fall startet Apache Mapserver-Prozesse, und diese Anzahl muss begrenzt werden.

Mnementh
quelle
Was ist die genaue Zeile, die Sie in limit.conf haben? Aktualisieren Sie die Frage damit, wenn Sie könnten.
Ken Simon
Bei Serverfault gibt es eine ähnliche Frage: Wie kann die Anzahl der gleichzeitigen Prozesse begrenzt werden?
Lekensteyn
Melden Sie alle Instanzen von myuser vor dem Testen ab, da die Grenzwerte beim Anmelden festgelegt werden. Siehe auch ss64.com/bash/limits.conf.html
karthick87
2
/etc/security/limits.confist eine Konfigurationsdatei für das pam_limits-Modul von PAM, aber Apache erzeugt keine Prozesse über PAM, sodass dies keine Auswirkungen hat.
Kees Cook

Antworten:

1

Dies ist nicht die ideale Lösung, da sie Apache-Upgrades stören kann, aber funktionieren sollte.

Bearbeiten Sie /etc/init.d/apache2 oben im Skript (neue Zeile nach dem #! / Bin / sh) und fügen Sie das erforderliche ulimit hinzu. Beispiel:

ulimit -u 1024
João Pinto
quelle