Escrevendo / dev / random no arquivo?


10

Se você executasse o seguinte, o que aconteceria?

cat /dev/random > ~/randomFile # don't run

Seria gravado até a unidade ficar sem espaço ou o sistema veria um problema com isso e o interromperia (como um loop infinito de link simbólico)?


4
Eu só queria acrescentar que concatenar aleatoriamente em dispositivos valia algumas horas de diversão na minha juventude. O buffer de quadros e a placa de som resultaram em ruído e a unidade de disco exigiu que eu fizesse uma reformatação de baixo nível ... bons tempos.
Bob Roberts

OT: 'executável / dev / dsp? parece divertido '
sendmoreinfo

@BobRoberts Tenho aventuras semelhantes, com resultados semelhantes. Eu também costumava usar o ssh nas estações de trabalho linux dos colegas e nos tons DTMF de gato para o alto-falante interno e depois tocar um tom de ocupado, de modo que parecia que o PC deles estava tentando enviar algo para o fax. Ah, bons tempos.
Tim Kennedy

@TimKennedy, como você faz isso? Existe / dev / ice para a tomada de áudio de 30 mm?
Tkbx

@ tkbx bem, eu estou namorando, mas antigamente você podia colocar um arquivo em / dev / audio e, se fosse um arquivo de som (.wav), ele seria reproduzido.
Tim Kennedy

Respostas:


22

Ele grava até que o disco esteja cheio (normalmente ainda há espaço reservado para o usuário root). Mas, como o conjunto de dados aleatórios é limitado, isso pode demorar um pouco.

Se você precisar de uma certa quantidade de dados aleatórios, use dd. Para 1 MB:

dd if=/dev/random iflag=fullblock of=$HOME/randomFile bs=1M count=1

Outras possibilidades são mencionadas nas respostas a uma pergunta relacionada .

No entanto, em quase todos os casos , é melhor usá-lo /dev/urandom. Ele não bloqueia se o kernel pensa que sai da entropia. Para uma melhor compreensão, você também pode ler mitos sobre / dev / urandom .

A instalação de velocidade reduzida/dev/random e também fornece mais entropia para /dev/urandom.

EDIT : ddprecisa da fullblockopção, pois / dev / random (ao contrário de /dev/urandom) pode retornar blocos incompletos se o pool de entropia estiver vazio.

Se o seu ddnão suportar unidades, escreva-as:

dd if=/dev/random iflag=fullblock of=$HOME/randomFile bs=1048576 count=1

7
100 MiB de dados aleatórios de alta qualidade são um pouco demais ... você deve obter alguns bytes para gerar um gerador de números pseudo-aleatórios de alta qualidade, como o twister de Mersenne. Se o aplicativo for crítico (no sentido criptográfico), você deve ler e ler o assunto, e talvez contratar um especialista.
vonbrand

4
@ vonbrand Não, ler 100 MB /dev/urandomé bom, não há razão para não fazer isso. E não use um twister Mersenne para fazer criptografia. E não use /dev/randomno Linux .
Gilles 'SO- stop be evil'

3
@jofel: Não, a saída de /dev/urandom é boa para uso criptográfico. Não use /dev/random.
Thomas Pornin

@ Gilles, talvez eu esteja perdendo ... Eu concordo com tudo o que você diz, e não pode ver onde eu disse algo diferente.
5133 vonbrand

@ Gilles & vonbrand: Obrigado por seus comentários, melhorei minha resposta (agora apenas 1 MB no exemplo, / dev / urandom recomendado).
Jofel
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.