今天在寫一個shell腳本的時候發(fā)現(xiàn)需要設(shè)置用戶的密碼,而設(shè)置密碼是交互式的,這樣在腳本中顯然是不太好的,因此上網(wǎng)查找資料,發(fā)現(xiàn)了以下兩種常見的非交互式設(shè)置密碼的方式:
1:使用chpasswd
chpasswd其實是通過用戶輸入'用戶名:密碼'來更改一組用戶的密碼,還是一個可以批量修改密碼的工具,具體的用法詳見chpasswd用法,這里只做簡單的介紹
格式:# echo 用戶名:密碼 | chpasswd
實例:
添加一個doiido的帳號,密碼為123456
復(fù)制代碼 代碼如下:
# echo doiido:123456 | chpasswd
2:使用passwd和--stdin組合
passwd默認(rèn)是要用終端作為標(biāo)準(zhǔn)輸入,而--stdin表示可以用任意文件做標(biāo)準(zhǔn)輸入,這兩個配合可以直接修改密碼
格式:# echo '密碼'| passwd --stdin 用戶名
實例:
添加一個doiido的帳號,密碼為123456
復(fù)制代碼 代碼如下:
# echo '123456'| passwd --stdin doiido
這樣就可以實現(xiàn)在非交互模式下修改密碼,但是某些嵌入式linux這兩種方式都不支持,則可以使用export來實現(xiàn)。
您可能感興趣的文章:- Shell腳本中實現(xiàn)把輸入的密碼轉(zhuǎn)換為*(星號)的方法
- PowerShell批量修改AD用戶密碼屬性的代碼
- shell腳本實現(xiàn)隨機(jī)生成10個8位密碼
- PowerShell中實現(xiàn)混淆密碼示例
- Shell腳本實現(xiàn)自動輸入密碼登錄服務(wù)器
- Shell創(chuàng)建用戶并生成隨機(jī)密碼腳本分享
- shell腳本實現(xiàn)輸入密碼顯示星號