Linux批量修改用戶密碼


對系統定期修改密碼是一個很重要的安全常識,通常,我們修改用戶密碼都使用passwd user這樣的命名來修改密碼,但是這樣會進入交互模式,即使使用腳本也不能很方便的批量修改,除非使用expect這樣的軟件來實現,難道修改一下密碼還需要單獨安裝一個軟件包嗎?不,我們其實還有其他很多方法可以讓我們避免交互的,下面具體寫一下具體的實現方式:

一、

  echo "123456" | passwd --stdin root

優點:方便快捷

缺點:如果你輸入的指令能被別人通過history或者其他方式捕獲,那么這樣的方式是很不安全,更重要的是如果密碼同時含有單引號和雙引號,那么則無法通過這種方法修改。

二、

a、首先將用戶名密碼一起寫入一個臨時文件。

cat chpass.txt

root:123456

zhaohang:123456

b、使用如下命令對用戶口令進行修改:

chpasswd < chpass.txt

c、可以使用123456來登錄系統,密碼修改完畢。

優點:可以很快速方便的修改多個用戶密碼

缺點:明文密碼寫在文件里仍然顯得不夠安全,但是避免了第一種修改方法不能有特殊字符串密碼的情況。

三、

a、用openssl passwd -1來生成用戶口令,連同用戶名一起寫入文件。

cat chpass.txt

root:$1$ri2hceVU$WIf.firUBn97JKswK9Ex00

b、使用如下命令對用戶口令進行修改:

chpasswd -e < chpass.txt

c、可以使用123456來登錄系統,密碼修改完畢。

優點:可以很快方便的修改多個用戶密碼

缺點:和上面兩種相比大大增強了安全性

附加介紹:

openssl passwd -1命令可以輸出shadow里面的密碼,把這個命令生成的秘串更改為你shadow里的密碼,那么下次你登錄系統就可以用你的生成密碼的口令來登錄了,使用這個命令,即使口令一樣,多次執行生成的密碼串也不一樣。那個hash值對應的密碼是完全隨機的基於64位字符編碼的28位長,因此要破解它是非常困難的,只要不用那些密碼已經公布出來的hash值創建賬號,即使這些密碼文件被公布也還是比較安全的。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM