ทำไม / etc / shadow ทำให้รหัสผ่านสั้นลงที่ฉันได้ตั้งค่าด้วยคำสั่ง: 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:::

ฉันไม่แน่ใจว่าทำไมระบบลบอักขระสิบสี่ตัวแรกจากรหัสผ่านที่เข้ารหัสของฉัน รหัสผ่านใน/etc/shadowไฟล์ของฉันสั้นกว่าที่ฉันได้ให้ไว้เพื่อเป็นข้อโต้แย้งuseradd -p


แน่นอนว่าควรดำเนินการโดยไม่บอกว่าคุณต้องใช้รหัสผ่านที่แตกต่างกันในขณะที่คุณได้ทำการแฮชนี้ ;)
ไวด์การ์ด

คำตอบ:


67

เนื่องจาก$เป็นอักขระพิเศษสำหรับเชลล์คุณควรใส่รหัสผ่านระหว่างเครื่องหมายคำพูดเดี่ยว:

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

โดยไม่ต้องเหล่านี้เชลล์จะพยายามที่จะขยาย$6, $Ic2PVlwiและ$2เป็นค่าตัวแปรของตนและเป็นตัวแปรไม่ได้ตั้งค่าผลในสตริงว่างเปล่าสำหรับแต่ละของพวกเขา เชื่อมต่อกับส่วนที่เหลือของสตริงรหัสผ่านที่เข้ารหัสแล้ว

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.