April 2032
|
|
|
|
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
|
4/5/09 08:15 am
РусКрипто
Воскресенье, раннее утро, все спят, а я допиваю кофе и выезжаю в подмосковный пансионат "Липки", что близ Звенигорода, с целью прочитать доклад.
Засада в том, что там на два часа пять докладов, а то, что я анонсировал и приготовил, меньше чем за полчаса не расскажешь. Придётся слушателям выбирать -- либо про OpenVZ, либо про управление ресурсами и эксплойты.
Кстати, об эксплойтах. Никогда не запускайте следующий страшный и вредоносный код на Си продакшен машине -- всё умрёт! А в контейнере -- сколько угодно. Я предупредил.
while (1) {
mkdir("somedir", S_IRWXU);
chdir("somedir");
}
4/5/09, 11:00 am
Блин, так и подмывает запустить :)))) А контейнер как спасется от такой рекурсии?
4/5/09, 12:03 pm
Там учитывается память ядра, выделенная для обслуживания приложений из контейнера, и есть лимит на эту память.
В деталях, наверное, потом отдельным постом напишу.
4/5/09, 02:15 pm
Скажи, а разве размер на стек или смегмент данных не спасет?
4/5/09, 02:53 pm
> размер на стек
А где тут на стеке память выделяется? Стек практически не используется тут.
> или смегмент данных
Собственно, как и со стеком — нет тут никаких выделений памяти процессу…
4/5/09, 02:58 pm
судя по отсутствия мата в комментах, у себя ещё никто не запустил… :)
4/5/09, 11:38 am
Обязательно запущу :) (Вот так-то, сказали суровые сибирские лесорубы) :) Мне кажется, эта штука должна упереться в ограничение длины имени файла и свалиться... Хотя хз... Смотря, какой юникс...
4/5/09, 12:08 pm
> Мне кажется, эта штука должна упереться > в ограничение длины имени файла
Дык, имя-то короткое, ибо относительное. Длинное имя мы нигде не используем.
4/5/09, 02:11 pm
проблема в том, что в современных юниксах нет лимита на длину пути. Т.е. программа сможет работать вечно ;)
4/5/09, 02:41 pm
квота на диск спасёт (особенно если не полениться выставить квоту на иноды)
4/5/09, 02:57 pm
в общем, да, наверное, спасёт. хотя не факт. завтра посмотрю, сколько итераций нужно, чтобы случилось страшное.
4/6/09, 11:27 pm
Айноды могут кончиться. А это приведёт к фатальным последствиям, если прогу запустить на рутовом или другом жизненно-важном разделе.
4/5/09, 02:12 pm
И какой же это эксплойт? Скорее ты показал людям что есть пистолет, и что его можно направить в ногу :)
4/5/09, 02:51 pm
Какой это эксплойт, ты можешь узнать, запустив его на какой-нибудь тестовой машинке. Ну или я в понедельник вечером расскажу в соседнем посте, что там происходит и как.
4/5/09, 02:41 pm
FreeBSD RELENG_7/ufs - ничего критичного, машина жива, через какое-то время оно перестанет жрать диск (когда квота кончится) и станет только процессор. Была бы процессорная квота - умерло бы по ней.
4/5/09, 02:55 pm
> через какое-то время оно перестанет жрать диск (когда квота кончится) > и станет только процессор.
Собственно, в соседнем посте у меня чуть более расширенный вариант, где прога вываливается, когда mkdir или chdir вернули ошибку.
Как оно там на freebsd себя ведёт, не знаю, но линуксу плохо. Завтра расскажу, почему и что там происходит.
4/5/09, 03:42 pm
Количество памяти тут не играет роли. Имеет значение лишь файловая система, точнее - сколь много файлов на ней можно создать.
4/5/09, 04:40 pm
Товарищ Серафим прав, однако ж, завтра, всё завтра расскажу. Сегодня просто попробуйте это на тестовой машинке.
4/5/09, 04:39 pm
Ты знал, ты знал... Придётся заскринить пока, а то у меня там типа викторина.
|