CentOS6.5でランダムSalt付きSHA-512のシャドウパスワードを生成する
CentOS6.5でランダムSalt付きSHA-512のシャドウパスワードを生成する方法を調べたのでメモしとく。
最初、OpenSSLでできるかなと思いついたが、openssl passwd
はMD5はいけるけど、SHAには対応しておらず駄目だった。
$ openssl passwd --help Usage: passwd [options] [passwords] where options are -crypt standard Unix password algorithm (default) -1 MD5-based password algorithm -apr1 MD5-based password algorithm, Apache variant -salt string use provided salt -in file read passwords from file -stdin read passwords from stdin -noverify never verify when reading password from terminal -quiet no warnings -table format output as table -reverse switch table columns
他にその手のツールはないか調べたところ、要件にピッタリ合致するgrub-cryptコマンドというのを見つけた。
$ grub-crypt --help Usage: grub-crypt [OPTION]... Encrypt a password. -h, --help Print this message and exit -v, --version Print the version information and exit --md5 Use MD5 to encrypt the password --sha-256 Use SHA-256 to encrypt the password --sha-512 Use SHA-512 to encrypt the password (default) Report bugs to <bug-grub@gnu.org>. EOF
このコマンドを使うと、以下のように対話式でランダムSalt付きのSHA-512シャドウパスワードが生成できる。
$ grub-crypt ←デフォルトがSHA-512なのでオプション必要無し Password: ←パスワード入力(今回はsampleという文字列) Retype password: ←もう一度パスワード入力 $6$5TIs9aRT3V4IRwJz$guTjCJzy1k.t8Gy8Y0TQiY25S7y6ptVzxeS0/o1JJG52Xv32lVIGCqOh11QCSeTqSlR2CVI380kTHYEY6WWOq/
うんうん、ちゃんとシャドウパスワードの形式で出力されてるね。
とてもシンプルで良いコマンドです。