mcookie — generate magic cookies for xauth
Examples (TL;DR)
-
Generate a random number:
mcookie
-
Generate a random number, using the contents of a file as a seed for the randomness:
mcookie --file path/to/file
-
Generate a random number, using a specific number of bytes from a file as a seed for the randomness:
mcookie --file path/to/file --max-size number_of_bytes
-
Print the details of the randomness used, such as the origin and seed for each source:
mcookie --verbose
Synopsis
mcookie [options]
Description
mcookie generates a 128-bit random hexadecimal number for use with the X authority system. Typical usage:
xauth add :0 . `mcookie`
The "random" number generated is actually the MD5 message digest of random information coming from one of the sources getrandom() system call, /dev/urandom, /dev/random, or the libc pseudo-random functions, in this preference order. See also the option --file.
Options
- -f, --file file
Use this file as an additional source of randomness (for example /dev/urandom). When file is '-', characters are read from standard input.
- -m, --max-size number
-
Read from file only this number of bytes. This option is meant to be used when reading additional randomness from a file or device.
The number argument may be followed by the multiplicative suffixes KiB=1024, MiB=1024*1024, and so on for GiB, TiB, PiB, EiB, ZiB and YiB (the "iB" is optional, e.g., "K" has the same meaning as "KiB") or the suffixes KB=1000, MB=1000*1000, and so on for GB, TB, PB, EB, ZB and YB.
- -v, --verbose
Inform where randomness originated, with amount of entropy read from each source.
- -V, --version
Display version information and exit.
- -h, --help
Display help text and exit.
Bugs
It is assumed that none of the randomness sources will block.
Files
/dev/urandom
/dev/random
See Also
Availability
The mcookie command is part of the util-linux package and is available from Linux Kernel Archive.