Як запобігти вилковій бомбі?


14

Щоб запобігти вилковій бомбі, я дотримувався цього http://www.linuxhowtos.org/Tips%20and%20Tricks/ulimit.htm

ulimit -aвідображає нові налаштування, але коли я запускаю (як і rootв bash), :(){ :|:&};:VM все ще продовжує максимум CPU + RAM і система замерзне.

Як переконатися, що користувачі не будуть збивати систему за допомогою вилкових бомб або запуску програми-баггі?

ОС: RHEL 6.4


Я не можу це відтворити тут. Ви намагаєтесь це як rootбудь-який випадок? З якої оболонки ви пробуєте її? (пропущений пробіл після {пропозицій, zshале я також не можу його відтворити).
Стефан Шазелас

Stephane Chazelas: 1] Я працював як root, я спробував це з нормальним користувачем, він працює. 2] Пропущений пробіл - помилка друку, я використовую bash.Sorry. 3] Це те, що ulimit не може пом'якшити "root" користувача?
user44441

@ stephane-chazelas 1] Я працював як root, я спробував це з нормальним користувачем, він працює. 2] Пропущений пробіл - помилка друку, я використовую bash.Sorry. 3] Це те, що ulimit не може пом'якшити "root" користувача?
user44441

Відповіді:


8

Це обмеження не впливає на суперусер або будь-який процес із можливостями CAP_SYS_ADMIN або CAP_SYS_RESOURCE, це не те, що можна змінити. rootзавжди може розщедрити процеси.

Якщо деякому програмному забезпеченню не довіряти, воно не повинно працювати як rootінакше.


3
Якщо це не робить щось особливе, майже нічого не повинно працювати як root. root - це обліковий запис, який ви використовуєте, коли вам набридло намагатися розібратися, які привілеї / права вам потрібно розібратися, або якась основна системна служба.
Братчлі

11

Щоб зробити цю зміну всеосяжною, вам потрібно додати ці обмеження до всього середовища. Зміни за допомогою ulimitкоманди стосуються лише поточного середовища.

ПРИМІТКА. Це не матиме впливу на кореневого користувача!

Приклад

Відредагуйте цей файл: vi /etc/security/limits.confі додайте до нього записи, що обмежують кількість процесів ( nproc), дозволених певному користувачеві або групі користувачів.

vivek hard nproc 300
@student hard nproc 50
@faculty soft nproc 100
@pusers hard nproc 200

ПРИМІТКА. У цьому файлі є більше прикладів. Будьте обережні, використовуючи "всі" (ака. *), Це також обмежить системні облікові записи.

Список літератури


Хоча "всі" обмежуватимуть системні акаунти, більшість служб, якими керують ці системні облікові записи, не проходять pam_limits.
jordanm

Це те, що ulimit не може пом'якшити "root" користувача?
user44441

Так само, як загальна ідея додати більше до посади, ви можете додати щось про пам_cgroup до посади, оскільки платформа OP підтримує це, і pam_limitsзгодом буде замінена на те, щойно групи отримають більш широке прийняття.
Братчлі

Крім того, оскільки це здається, що ОП розігрується з політикою використання ресурсів, cgroupsце дасть їм кращі ручки для використання мережі та процесора.
Братчлі
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.