• Opret dig
  • Glemt adgangskode

User account menu

  • Artikler
  • Forside
  • Forum
  • Nyheder
  • Log ind
Hjem
LinuxIN.dk

Snak med

Opret dig!

Af uldall | 20.08.2010 16:31

dd og /dev/random (bash)

Programmering
Hej folkens.
Jeg generer en nøglefil således:

dd if=/dev/random of=/sti/til/fil bs=64 count=1

Dette har jeg indskrevet i et script, der laver en masse ting, heriblandt tjekker filstørrelsen.
Hvis der ikke er tilstrækkeligt med aktivitet på computeren når scriptet kører, hænder det at /dev/random ikke kan spytte 64 byte ud, men en smule mindre (fx 17 byte).

Da nøglefilen skal være 64 byte, tænker jeg, om man kan booste processen ved at lade den lille fil blive spyttet ind i /dev/random igen via dd?
Filen bliver slettet bagefter, da den ikke er stor nok til at opfylde kravet om 64 byte.

1) Er der en sikkerhedsrisiko ved at køre kommandoen dd if=/sti/til/fil of=/dev/random?

2) Vil ovenstående kommando forøge min random pools størrelse, eller ville det svare til overførsel til /dev/null?


Det relevante stykke af mit script ser således ud:

(...)
size=$(stat -c %s /sti/til/fil)
dd if=/dev/random of=/sti/til/fil bs=64 count=1
if [ "$size" -lt "63" ]
then
dd if=/sti/til/fil of=/dev/random
rm /sti/til/fil
fi
(...)
  • Log ind eller opret dig for at tilføje kommentarer

Kommentarer2

# 1

15 år 6 måneder siden

Permalink

Indsendt af 7eis den 23. august 2010 kl. 00:43

Permalink

Hvis du kan leve med mindre

Hvis du kan leve med mindre entropi er der jo altid /dev/urandom.
Ellers kan du jo hente 8bits fra /dev/random, vente lidt og så hente nogle flere bits. Hvis du har en metode til at lave noget mere entropi, kan du jo forke det og dræbe det efter du har samlet nok data. Hvis du skal bruge det i større stil, kan du få usb nøgler der kan fylde din /dev/random mange gange hurtigere end du kan tømme den. http://www.entropykey.co.uk/shop/

edit: jeg glemte selvfølgelig at sige at du kan tjekke /proc/sys/kernel/random/entropy_avail for at se hvor mange bytes du har til rådighed på et givent tidspunkt. Jeg er ikke helt klar over hvorfor den dropper, når man læser den. Et gæt vil være at den er nødt til at læse hele poolen for at se hvor mange bytes der er til rådighed.
  • Log ind eller opret dig for at tilføje kommentarer

# 2

15 år 6 måneder siden

Permalink

Indsendt af uldall den 23. august 2010 kl. 11:18

In reply to Hvis du kan leve med mindre by 7eis

Permalink

Jep, jeg endte også med at

Jep, jeg endte også med at lave en If-sætning, der netop tjekker mængden af random data i stedet.

Sådan en entropy-key er garanteret smart, men £36 er lige i overkanten til mit hobbyprojekt:-). Men tak for linket, nu ved jeg den eksisterer.

...
ent_av=$(cat /proc/sys/kernel/random/entropy_avail)
If [ $ent_avail -lt "2500" ]
then
exit
fi
...
  • Log ind eller opret dig for at tilføje kommentarer

Svar søges

KDE Plasma 6.6 skrivebordsmiljø udgivet 0
youtube-tui: Nyd YouTube fra terminalen som en professionel 0
GRUB 2.14 introducerer understøttelse af EROFS, forbedringer til Btrfs og LVM 0
KDE Plasma 6.6 tilføjer en funktion, som brugerne har spurgt efter i evigheder 0
Linux i København 12.01.2026: Open source i det offentlige 0

Seneste aktivitet

BigLinux 5
Det engang så elskede PCLinuxOS er tilbage - og det er stadig en fantastisk Windows erstatning 1
rsync og filsystem 6
Mousam er en detaljeret desktop vejrapp til Linux 1
Hjælp til Handbrake - ingen dk-undertekster 1
luckyBackup 2
GIMP 30
Pinegrow på Debian 13 ? 4
Openmediavault 1
E-mail blues 9
Driver til min scanner? 5
Printer Epson ET-2865 problem 16
Sudo 7
Thunderbird filvedligeholdelse 2
Debian 13.3.0 8
Linux Mint 22.3 - hvornår opdatere? 10
Canon-printer: Jeg savner "Ink-Toner Level"-meddelelse 10
billede af nuværende installation 2
mapper 4
LinuxIn live 9

© 2026 Linuxin og de respektive skribenter

Oprettet og drevet af nørder siden 2004 !