更改影子密码

Med*_*Med 1 shadow

我正在寻找一个sed命令来更改行:

userA:$6$lhkjhl$sdlfhlmLMHQSDFM374FGSDFkjfh/7mD/354dshkKHQSkljhsd.sdmfjlk57HJ/:95170::::::
Run Code Online (Sandbox Code Playgroud)

userA:$6$sLdkjf$576sdKUKJGKmlk565oiuljkljpi/9Fg/rst3587zet324etze.dsfgLIMLmdf/:34650::::::
Run Code Online (Sandbox Code Playgroud)

小智 5

反而:

chpasswd -e <<< 'userA:yourencryptedpassword'
Run Code Online (Sandbox Code Playgroud)

如果您打算使用sed- 尽管存在风险:

设置密码 - 无论之前是什么:

sed -i.sedbackup 's/^\(userA:\)[^:]*\(:.*\)$/\1yournewpassword\2/' /etc/shadow
Run Code Online (Sandbox Code Playgroud)

要替换特定的密码字符串:

sed -i.sedbackup 's/^\(userA:\)youroldpassword\(:.*\)$/\1yournewpassword\2/' /etc/shadow
Run Code Online (Sandbox Code Playgroud)