10.11.2012

Fatal: no entropy gathering module detected

Подобное сообщение появляется в том случае, если команда, запущенная из chroot'а требует генерации случайных чисел. Например svn checkout https://

Эта проблема достаточно хорошо освящена на просторах интернетов... людьми, которые не понимают, что говорят.

Итак, стандартное решение для нее - убедиться, что в системе есть эти девайсы. Если нет, то создать:
mknod -m 666 /dev/random c 1 8 
mknod -m 666 /dev/urandom c 1 9

Но в чруте эти девайсы так просто не окажутся. Потому чуть более продвинутые посоветуют создать сразу с ныжными путями:
mknod -m 666 /chroot/path/dev/random c 1 8
mknod -m 666 /chroot/path/dev/urandom c 1 9

или пробросить (команда для Jailkit):
jk_cp -v -j /chroot/path /dev/random
jk_cp -v -j /chroot/path /dev/urandom


Все три варианта - бред. Потому что в случае отсутствия этих устройств или неправильных прав на них, ошибка была бы другой.

Так о чем нам говорит именно эта ошибка?
Тут надо разобраться как работают эти две команды. Они залазят в буфер шумов от драйверов устройств и берут оттуда данные, из которых и составляются рандомные цифры. Стоп! Каких устройств? Мы же в чруте :)
Правильный вопрос - 50% ответа. Решение приходит само собой:
mount -o bind /dev /chroot/path/dev



UPD: как правильно заметил мой товарищ Павел, это резко понижает безопасность сервера, выкладывая диски в chroot. Так что нужно взвешивать такое решение.



Комментариев нет:

Отправить комментарий