LINUX.ORG.RU

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

anonymous
()
Ответ на: комментарий от anonymous

Любой юзер, который запустит это, подвесит любой сервак. #include (stdlib.h) main () { while (1) fork (); } ps: скобки в include надо заменить на угловые.

anonymous
()
Ответ на: комментарий от anonymous

У таких, пионеров, как ты - да, подвесит. У грамотных людей это будет иметь эффект комариного укуса.

anonymous
()

Как именно это делают грамотные люди?

Settler
()

anonymous а ты свою детскую прогу пробовал где нибудь?
Я тебе расскажу что будет.
Сервер будет работать как работал а accout у тебя пропадет.
Эта програмка 20 летней древности, времен юности Unix.
Распостраняется она доморошенными хакрами которые хотят
поразить всех своими познаниями в C.
Конечно такие хакеры не следят за развитием и разработкой
ядер unix систем. И не знают о лимите на колличество
запушенных процессов так что этот fork очень быстро вернет -1.
Думаю неудачное место ты выбрал чтобы похвастаться такой
программой. Рекомендую послать ее на www.hackzone.ru
там тебя оценят и сразу же в лигу примут.
Ну раз уже речь зашла об ламерских програмах добавлю в твою,
anonymous коллекцию еше одну программу.
"Неудаляемая директория"
#!/usr/bin/tclsh
while {1} {
exec mkdir hack_you
cd hack_you
}
Попробуй такую программу и распалцовать не забудь перед другими
А как такие директории удалять это тебе домашнее задание
anonymous :)

Tima_ ★★★★
()

Еще раз спрашиваю - как сделать, чтобы программулька:
#include (stdlib.h) main () { while (1) fork (); }
не слопала практически сразу весь CPU под себя?
Ограничение колличества процессов не помогает.
Есть ли способ ограничить %CPU для пользователя?

PS. Кстати этот самый "Локальный DoS в Linux 2.2/2.3"
    в 2.2.15pre18 уже не работает.
 

Settler
()

Единственный способ - ограничение повесить на число процессов. (Или шедулер грамотный повесить) Последний раз когда я пробовал эту фичу оно доставляло не мало хлопот. Линух не висл и не тормозил особо, но число юзерских процессов кончилось и простому юзеру процесс породить было невозможно. Из под рута несколько похуже. Кстати на аихе такая прога приводила к весьма серьезным тормозам, даже при дефолтном ограничении в 40 процессов на юзверя. Но вообшемто помочить такого пользователя всегда можно.

shuras
()
Ответ на: комментарий от Settler

Конкретно для таких дел специально придуман forkbomb defuser, как модуль к ядру (ищи на freshmeat). А про CPU - я думаю `help ulimit` сам осилишь.

anonymous
()

Спасибо. "ulimit -t 0 или 1" - и процесс - инициатор довольно таки быстро
прибиваеться.
А вот _почему_, я не совсем понимаю. top показывает, как приоритет
процессов пользователя быстро меняется от нормы (10) к минимальному.
Но вот почему первый из них (тот который форкает остальные)
прибивается - непонятно.
 

Settler
()
Ответ на: комментарий от Tima_

Слушай пальцевик ты наш, я только сказал что может подвесить в дефолтной системе. И как ты сумел заметить, распальцовичек ты наш, есть люди, которые незнали о ulimit. Я лишь просто показал способ подвесить машину. А какие существуют методы защиты от этого это уже проблемы другого характера. У нормального админа вход юзверей через bash или еще какую оболочку вообще закрыт. А уж вход по телнету вообще молчу, должен быть убран в первую очередь.

Прежде чем судить о человеке, поучись манерам. Куул хацкер. Мля.

anonymous
()

ulimit - не панацея

Поясните пожалуйста мне, идиоту, как это вы ulimit'ом собираетесь forkbomb'ы ловить? Для того, чтобы он _более_-_менее_ успешно их бил, надобно, как показывает мой скромный опыт, выставить драконовские ограничения: ~5-10 процессов и ~0-1 секунд. В этом случае наблюдается _постепенное_ истребление плодящихся уродцев, которое занимает порядка 1-2 минут (быстро умирает (killed) только родитель - остальные продолжают множиться в геометрической прогрессии). НО! Работать нормальному юзверю при таких ограничениях, как вы понимаете, невозможно. Так что, ловить forkbomb'ы можно только ограничивая fps- forks per second, что позволяют далеко не все системы (в linux'e, например, это неплохо удается упомянутому здесь модулю rexfbd). Если есть какие мнения, мысли - поделитесь.

ABM
()

A ved' ty deistvitel'no skazal: "luboi servak". A potom uzhe "utochnil", chto defoltnyi. Sleduet sledit' za vyrazheniyami, potomu kak "slovo ne vorobei..." i vse takoe:)

anonymous
()
Ответ на: комментарий от anonymous

Человек не знаюший и ulimit - ньюби mv /dev/newbie
Человек закрываюший telnet - параноик, mv /dev/doktor
На интернет таких людей пускать нельза, со страху подохнут
в первые же 5 минут.

anonymous, я тебе уже сказал, твой сайт www.hackzone.ru
Там будешь "входить через bash или дручую оболчку". Rolf.

А судить о людях я умею, не переживай. Знающего человека от
ламера отличаю.

Tima_ ★★★★
()

Человек, закрывающий телнет - не параноик, mv /dev/hands, brain, speed, etc.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.