Substituindo /dev/(u)random dentro de um contêiner

Substituindo /dev/(u)random dentro de um contêiner

O/dev/(u)aleatóriodispositivos podem ser vinculados do host a um contêiner.

Pode(u)aleatórioser substituído por um pipe nomeado? (assumindo alguma outra aplicação (não(u)aleatório) fornece entrada para o pipe nomeado) Ou(u)aleatóriotem alguma outra funcionalidade além de ser um dispositivo do tipo FIFO e como essa funcionalidade seria emulada sem criar um novo dispositivo?

O caso de uso é ter (quase) execuções de aplicativos 100% reproduzíveis com controle total sobre(u)aleatóriodentro de um contêiner. Ter números aleatórios seguros não é motivo de preocupação.

Responder1

Um pipe não funcionaria porque quando vários processos estão lendo o mesmo pipe, é imprevisível quais processos recebem qual byte. Você poderia usar um soquete, no entanto. Com um soquete, o lado do servidor obtém uma conexão separada cada vez que um cliente abre o soquete. O servidor podeconsultar o processo na outra extremidade do soqueteo que deve ajudar na previsibilidade, pois você pode tornar a semente PRNG uma função de algumas características do processo.

informação relacionada