linux/centos shell腳本中非交互式修改密碼

    今天在寫一個shell腳本的時候發現需要設置用戶的密碼,而設置密碼是交互式的,這樣在腳本中顯然是不太好的,因此上網查找資料,發現了以下兩種非交互式設置密碼的方式:


1、使用chpasswd

chpasswd其實是通過用戶輸入'用戶名:密碼'來更改一組用戶的密碼,還是一個可以批量修改密碼的工具,具體的用法詳見chpasswd用法,這裏只做簡單的介紹

格式:# echo 用戶名:密碼 | chpasswd


比如想要添加一個doiido的帳號,密碼爲123456,指令如下

# echo doiido:123456 | chpasswd

2、使用passwd和--stdin組合

passwd默認是要用終端作爲標準輸入,而--stdin表示可以用任意文件做標準輸入,這兩個配合可以直接修改密碼

格式:# echo '密碼'| passwd --stdin 用戶名


還是添加一個doiido的帳號,密碼爲123456,指令如下

# echo '123456'| passwd --stdin doiido


    這樣就可以實現在非交互模式下修改密碼,但是對於某些嵌入式linux這兩種方式都不支持,則可以使用export來實現。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章