Um patch de segurança do kernel grsecurity tem um recurso chamado Enforce RLMIT_NPROC on execs
. Quando ativado, ele impõe limites por usuário para todo o sistema, em vez de por login (ou pior, como você observou).
Sim, eu sei que essa pergunta foi feita muitas vezes, mas infelizmente eu não encontrei a resposta completa sobre isso.
Então, como limitar o número de processos simultâneos por usuário?
eu encontrei duas soluções:
usando pam_limits. Nesse caso, eu preciso configurar o arquivo /etc/security/limits.conf. infelizmente, essa solução funciona apenas para aplicativos que reconhecem o uso de pam, ou seja, não é universal.
usando ulimit chamado de $ HOME / profile. infelizmente não funciona em todos os casos também. Eu tentei definir "ulimit -u 100" e, em seguida, lançado no mesmo shell "stress - vm 200 --vm - bytes 100". aplicação foi lançada com sucesso e eu tenho mais de 200 processos sob o usuário root.
Eu preciso construir um sistema robusto, então as soluções que funcionam apenas em alguns casos são inadequadas.
Um patch de segurança do kernel grsecurity tem um recurso chamado Enforce RLMIT_NPROC on execs
. Quando ativado, ele impõe limites por usuário para todo o sistema, em vez de por login (ou pior, como você observou).
No mesmo shell, não funcionará. Tente colocar a configuração ulimit em você .bashrc da raiz, faça o login como root novamente e tente. Você pode verificar com ulimit -a para verificar.
Você pode definir limites em /etc/security/limits.conf