要在 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) |