Что означает буква «u» в / dev / urandom?

Из man bash:

PROMPTING При интерактивном выполнении bash отображает первичную подсказку PS1, когда он готов прочитать команду, и вторичную подсказку PS2. когда ему требуется дополнительный ввод для завершения команды. Bash позволяет настраивать эти строки подсказок, вставляя в них ряд специальных символов с обратной косой чертой символов, которые расшифровываются следующим образом следующим образом:

...

  • \$ если эффективный UID равен 0, то #, иначе $

Итак, это жестко закодировано в bash*. То же самое, вероятно, относится и к другим оболочкам. Я помню, что на очень старых юнисах 80-х годов это было %. Сейчас csh использует %


* Вы, конечно, могли бы настроить PS1, но без этой встроенной возможности использовать тот или иной char на основе UID
90
13.04.2017, 15:36
2 ответа

Это зависит от того, о какой "Unix" системе вы говорите.

Во FreeBSD / dev / urandom и / dev / random - одно и то же устройство. Буква u теперь является историческим наследием, которое существует для обратной совместимости. При запуске они блокируются до тех пор, пока не наберется достаточное количество энтропии, а затем никогда не блокируются снова. Подробнее см. Мифы о urandom .

В современном мире Linux (начиная с ядра 4.8) оба устройства используют один и тот же CSPRNG, поэтому единственная разница состоит в том, что некоторые люди предполагают наличие атаки. Эта атака похожа на путешествие на сверхсветовой скорости [Faster than Light]. Легко рассуждать, но довольно сложно спроектировать.

TL; DR - просто используйте / dev / urandom.

20
27.01.2020, 19:30

Без ограничений.

В Linux сравнение функций ядра с именами random_read и random_read_unlimited показывает, что этимология буквы u в urandom является без ограничений .

Это подтверждается , строка 114 :

Устройство / dev / urandom не имеет этого ограничения [...]

Обновление:

Что касается того, что было первым для Linux, / dev / random или / dev / urandom , @ Stéphane Chazelas опубликовал сообщение с исходным патчем , а @StephenKitt показал , что оба они были представлены одновременно .

96
27.01.2020, 19:30

Теги

Похожие вопросы