Warum verkürzt / etc / shadow das Kennwort, das ich mit dem Befehl useradd -p festgelegt habe?

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:::

Ich bin nicht sicher, warum das System die ersten vierzehn Zeichen aus meinem verschlüsselten Passwort entfernt. Das Passwort in meiner /etc/shadowDatei ist kürzer als das, was ich als Argument angegeben habeuseradd -p

PolkaRon
quelle
Natürlich sollte es selbstverständlich sein, dass Sie ein anderes Passwort verwenden müssen, nachdem Sie diesen Hash aufgedeckt haben. ;)
Wildcard

Antworten:

67

Da $es sich bei der Shell um ein Sonderzeichen handelt, sollten Sie das Kennwort in einfache Anführungszeichen setzen:

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

Ohne diese wird die Shell versuchen, zu expandieren $6, $Ic2PVlwiund $2auf ihre jeweiligen Variablenwerte und da die Variablen nicht gesetzt sind, führen sie zu leeren Zeichenfolgen für jede von ihnen. Verkettet mit dem Rest der verschlüsselten Kennwortzeichenfolge.

Anthon
quelle