要在 Shell Script 修改系统密码, 在 Linux 可以用 passwd 及 chpasswd 完成, 做法是用一行修改密码的指令, 再放入 Shell Script, 它们的用法分别是:
passwd
passwd 的作用是修改密码, 但一般用法是用互动模式修改, 以下是用 passwd 的 –stdin 参数, 读入管线 (pipe) 输入修改:
|
1 |
echo NEWPASSWORD | passwd --stdin USERNAME |
上面指令修改用户 USERNAME 的密码为 NEWPASSWORD.
chpasswd
除了用 passwd 外, 也可以用 chpasswd 完成, 语法跟 passwd 差不多:
|
1 |
echo "NEWPASSWORD:USERNAME" | chpasswd |
跟 passwd 的例子一样, 修改用户 USERNAME 的密码为 NEWPASSWORD.
备注: 如果想修改 Samba 的密码, 可以用类似的方法做:
|
1 |
echo -e "NEWPASSWORD\nNEWPASSWORD" | (smbpasswd -a -s USERNAME) |