/etc/shadowがuseradd -pコマンドを使用して設定したパスワードを短縮するのはなぜですか?

/etc/shadowがuseradd -pコマンドを使用して設定したパスワードを短縮するのはなぜですか?
[root@P-dude dude]# useradd -p $6$Ic2PVlwi$2nf.IRWTMy0FHrPzaCjkahfu9IIxnzxPZL7yg8SsvOdbjEpoI0G8uy7AqduYKQOn2R/rnnaalRmfPMy.a0 bwong20

[root@P-dude dude]# cat /etc/shadow | grep pswayze
pswayze:nf.IRWTMy0FHrPeaCjkahfufIIxnzxPZL7yg8SsvOdbjEpoI0G8uy7AqduYKQOn2R/rnnaalRmfPMy.a0:16924:0:99999:7:::

システムが暗号化されたパスワードから最初の14文字を削除した理由はわかりません。私のファイルのパスワードは、パラメータとして指定した/etc/shadowパスワードより短いです。useradd -p

答え1

$これはシェルの特殊文字なので、単一引用符の間にパスワードを入力する必要があります。

useradd -p '$6$Ic2PVlwi$2nf.IRWTMy0FHrPza6mh5wjomwbYtIIxnzxPZL7yg8SsvOdbjEpoI0G8uy7AqduYKQOn2R/rnnaalRmfPMy.a0' bwong20

これがなければ、シェルは、およびを対応する変数値に拡張しようとし、$6変数$Ic2PVlwi$2設定されていないため、それぞれは空の文字列を生成します。暗号化されたパスワード文字列の残りの部分を連結します。

関連情報