[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
Ответы:
Поскольку
$
это специальный символ для оболочки, вы должны поставить пароль между одинарными кавычками:без них оболочка будет пытаться расшириться
$6
,$Ic2PVlwi
и$2
до соответствующих им значений переменных, а поскольку переменные не установлены, для каждой из них будут пустые строки. Объединяется с остальной частью строки зашифрованного пароля.источник