Mengapa / etc / shadow memperpendek kata sandi yang telah saya atur dengan perintah: useradd -p?

21
[root@P-dude dude]# useradd -p $6$Ic2PVlwi$2nf.IRWTMy0FHrPzaCjkahfu9IIxnzxPZL7yg8SsvOdbjEpoI0G8uy7AqduYKQOn2R/rnnaalRmfPMy.a0 bwong20

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

Saya tidak yakin mengapa sistem menghapus empat belas karakter pertama dari kata sandi terenkripsi saya. Kata sandi dalam /etc/shadowfile saya lebih pendek dari yang saya berikan sebagai argumenuseradd -p

PolkaRon
sumber
Tentu saja, itu harus dilakukan tanpa mengatakan bahwa Anda perlu menggunakan kata sandi yang berbeda sekarang Anda telah membuka hash ini. ;)
Wildcard

Jawaban:

67

Karena $karakter khusus untuk shell Anda harus memasukkan kata sandi di antara tanda kutip tunggal:

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

tanpa ini shell akan mencoba untuk memperluas $6, $Ic2PVlwidan $2nilai variabel masing-masing, dan karena variabel tidak diatur, menghasilkan string kosong untuk masing-masing. Digabungkan dengan sisa kata sandi yang dienkripsi.

Anthon
sumber