Comment limiter le nombre de processus qu'un utilisateur peut démarrer?

10

Nous avons essayé /etc/security/limits.conf, mais cela semble n'avoir aucun effet.

La ligne utilisée pour limits.conf se présente comme suit:

myuser hard nproc 6

C'est la configuration d'un serveur. Je veux limiter les processus démarrés. Ulimit limite les processus démarrés à partir du shell (si je comprends bien). Mais dans mon cas, apache démarre les processus mapserver, et ce nombre doit être limité.

Mnementh
la source
Quelle est la ligne exacte que vous avez dans limits.conf? Mettez à jour la question avec elle si vous le pouviez.
Ken Simon
Il y a une question similaire sur serverfault: comment limiter le nombre de processus simultanés?
Lekensteyn
Déconnexion toutes les instances de myuser avant le test, car les limites sont fixées à login.Also voir ce ss64.com/bash/limits.conf.html
karthick87
2
/etc/security/limits.confest un fichier de configuration pour le module pam_limits de PAM, mais Apache ne génère pas de processus via PAM, il n'aura donc aucun effet.
Kees Cook du

Réponses:

1

Ce n'est pas la solution idéale car elle peut interférer avec les mises à niveau d'apache, mais cela devrait fonctionner.

Editez /etc/init.d/apache2, en haut du script (nouvelle ligne après le #! / Bin / sh) ajoutez l'ulimit requis, exemple:

ulimit -u 1024
João Pinto
la source