Из man bash
:
PROMPTING При интерактивном выполнении bash отображает первичную подсказку PS1, когда он готов прочитать команду, и вторичную подсказку PS2. когда ему требуется дополнительный ввод для завершения команды. Bash позволяет настраивать эти строки подсказок, вставляя в них ряд специальных символов с обратной косой чертой символов, которые расшифровываются следующим образом следующим образом:
...
- \$ если эффективный UID равен 0, то #, иначе $
Итак, это жестко закодировано в bash
*. То же самое, вероятно, относится и к другим оболочкам. Я помню, что на очень старых юнисах 80-х годов это было %
. Сейчас csh
использует %
Это зависит от того, о какой "Unix" системе вы говорите.
Во FreeBSD / dev / urandom и / dev / random - одно и то же устройство. Буква u теперь является историческим наследием, которое существует для обратной совместимости. При запуске они блокируются до тех пор, пока не наберется достаточное количество энтропии, а затем никогда не блокируются снова. Подробнее см. Мифы о urandom .
В современном мире Linux (начиная с ядра 4.8) оба устройства используют один и тот же CSPRNG, поэтому единственная разница состоит в том, что некоторые люди предполагают наличие атаки. Эта атака похожа на путешествие на сверхсветовой скорости [Faster than Light]. Легко рассуждать, но довольно сложно спроектировать.
TL; DR - просто используйте / dev / urandom.
Без ограничений.
В Linux сравнение функций ядра с именами random_read
и random_read_unlimited
показывает, что этимология буквы u
в urandom
является без ограничений
.
Это подтверждается , строка 114 :
Устройство / dev / urandom не имеет этого ограничения [...]
Обновление:
Что касается того, что было первым для Linux, / dev / random
или / dev / urandom
, @ Stéphane Chazelas опубликовал сообщение с исходным патчем , а @StephenKitt показал , что оба они были представлены одновременно .