在Linux系統,如果是連接ssh修改密碼,那非常簡單,關鍵是如何實現只要調用命令就能修改密碼,而且不需要交互輸入密碼呢? ...
交互方式修改密碼
1. ssh 遠程到主機;
2. 切換到root賬號;
[一般都是切換到root進行密碼修改,如果普通用戶修改自己的密碼,要輸入原密碼,然後新密碼要滿足複雜度才OK];
3. passwd username
使用passwd username 修改 username 的密碼;
使用該命令會有提示,即進入了交互界面,輸入密碼即可。
使用腳本修改密碼
很多時候我們可能需要遠程執行伺服器上的腳本來修改賬號密碼,此時就沒有辦法進行交互了。
此時可以使用如下兩種方式修改密碼:
方式1:
echo "password" | passwd testuser --stdin > /dev/null 2>&1
方式2:
echo testuser:password|chpasswd
註:
-
密碼字元串的雙引號,可有可無,見上面
方式1
和方式2
的例子 -
如果密碼中包含 $ 字元,需要使用反斜線進行轉義,如:
echo testuser:password\$|chpasswd