Назад | Перейти на главную страницу

как ограничить количество одновременных процессов на пользователя в системе?

да, я знаю, что этот вопрос задавали много раз, но, к сожалению, я не нашел на него полного ответа.

Итак, как ограничить количество одновременных процессов на пользователя?

я нашел два решения:

  1. используя pam_limits. в этом случае мне нужно настроить файл /etc/security/limits.conf. К сожалению, это решение работает только для приложений, поддерживающих pam, то есть не универсально.

  2. используя ulimit, вызываемый из $ HOME / profile. К сожалению, это работает не во всех случаях. Я попытался установить «ulimit -u 100», а затем запустил в той же оболочке «stress --vm 200 --vm - bytes 100». приложение было успешно запущено, и я получил более 200 процессов под пользователем root.

мне нужно создать надежную систему, поэтому решения, которые работают только в некоторых случаях, не подходят.

Патч безопасности ядра grsecurity есть функция под названием Enforce RLMIT_NPROC on execs. Когда он включен, он обеспечивает общесистемные ограничения для каждого пользователя, а не для входа в систему (или, что еще хуже, как вы заметили).

Вы можете установить лимиты в /etc/security/limits.conf

В той же оболочке работать не будет. Попробуйте поместить настройку ulimit в ваш .bashrc root, снова войдите в систему как root и попробуйте. Вы можете проверить с помощью ulimit -a для проверки.