useraddを使用してユーザーを追加し、-pフラグを使用して暗号化されたパスワードを指定したいと思います。私が使用しているUNIXシステムは、SHA512ハッシュを使用して/ etc / shadowファイルにパスワードを保存することを知りました。 /etc/pam.d/common-password を見ると、次のように表示されます。
# Explanation of pam_unix options:
#
# The "sha512" option enables salted SHA512 passwords. Without this option,
# the default is Unix crypt. Prior releases used the option "md5".
#
# The "obscure" option replaces the old `OBSCURE_CHECKS_ENAB' option in
# login.defs.
#
# See the pam_unix manpage for other options.
# here are the per-package modules (the "Primary" block)
password [success=1 default=ignore] pam_unix.so sha512
ハッシュを生成し、それを私のハッシュと比較できるように、塩が何であるかを知る必要があります。
useradd ... ... -p INSERT_HASHED_PASS_HERE
答え1
Salt は、2 人のユーザーが同じパスワードを使用する場合にパスワードのバリエーションが発生する [理想的には] ランダムに生成される値です。ランダムなソルトを使用すると、ユーザーは複数のシステムで同じパスワードを持つことができますが、これは明確ではありません。あなたがしたいことは、ハッシュを塩に漬ける目的を迂回するようです。
パスワードハッシュを一度作成し、自動化の目的で複数の場所で使用したいとします。
任意の文字列をソルトに渡すときにパスワードハッシュを生成するために使用できるいくつかのユーティリティがあります。しかし、先に述べたように、最初から塩の目的を否定することです。
答え2
passwd
/etc/shadowファイルにユーザーパスワードを作成して追加するコマンドを使用するのが最善です。また、以前の回答で述べたように、ハッシュを一意に保つには塩がランダムでなければなりません。
ただし、コマンドでパスワードハッシュを生成したい場合は、次のコマンドを使用できます。
オプション1:
openssl passwd -6 -salt $(openssl rand -base64 12) yourpassword
ここで:
- -6 は sha-512 暗号化アルゴリズムを表します。
- openssl rand - ランダムな塩の生成
- yourpasswordはハッシュしたいパスワードです。
オプション2:
mkpasswd --method=SHA-512 --stdin
これはうまくいきます。