Ersetzen von /dev/(u)random innerhalb eines Containers

Ersetzen von /dev/(u)random innerhalb eines Containers

Der/dev/(u)randomGeräte können vom Host in einen Container eingebunden werden.

Kann(u)zufälligdurch eine benannte Pipe ersetzt werden? (unter der Annahme einer anderen Anwendung (nicht(u)zufällig) stellt eine Eingabe für die benannte Pipe bereit) Oder(u)zufällighat es eine andere Funktionalität als die eines FIFO-ähnlichen Geräts und wie ließe sich eine solche Funktionalität emulieren, ohne ein neues Gerät zu erstellen?

Anwendungsfall ist die (nahezu) 100% reproduzierbare Ausführung von Anwendungen mit voller Kontrolle über(u)zufälliginnerhalb eines Containers. Sichere Zufallszahlen sind kein Problem.

Antwort1

Eine Pipe würde nicht funktionieren, da es nicht vorhersehbar ist, welcher Prozess welches Byte erhält, wenn mehrere Prozesse aus derselben Pipe lesen. Sie könnten jedoch einen Socket verwenden. Mit einem Socket erhält die Serverseite jedes Mal eine separate Verbindung, wenn ein Client den Socket öffnet. Der Server kannFragen Sie den Prozess am anderen Ende des Sockets abDies sollte die Vorhersagbarkeit verbessern, da Sie den PRNG-Seed zu einer Funktion einiger Prozesseigenschaften machen können.

verwandte Informationen