linux下批量修改使用者密碼

2021-09-01 16:53:46 字數 1728 閱讀 6710

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

第一種:

echo "123456" | passwd --stdin root

優點:方便快捷

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

說明:批量修改linux密碼 passwd --stdin user 從標準輸入中讀取密碼,所以使用者可以在指令碼中使用如 echo newpasswd | passwd --stdin username 這種方式來批量更改密碼 但在其它的一些發行版(如debian/suse)所提供的passwd並不支援--stdin這個引數

第二種:

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.firubn97jkswk9exo0

zhaohang:$1$i/gou7.v$bh2k6sxmxv6/ucxjz8n7b.

b. 使用如下命令對使用者口令進行修改:

chpasswd -e < chpass.txt

c. 可以使用 123456 來登入系統,密碼修改完畢.

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

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

附加介紹:

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

# openssl passwd -1

password: 123456

verifying - password: 123456

$1$ri2hcevu$wif.firubn97jkswk9exo0

也可以直接使用如下命令來直接生成:

# openssl passwd -1 123456

# openssl passwd -1 -salt "yoctor" 123456

上面命令中的 salt 自己隨便輸入些東西

因為設定密碼的時候密碼密文是md5加密的,在產生雜湊值的時候系統回在密文中加如鹽從而使密文無法反向破譯。

passwd加密的時候系統加的salt是 時間

Linux 修改使用者密碼

linux修改密碼用passwd命令,用root使用者執行passwd,passwd user name可以設定或修改任何使用者的密碼,普通使用者執行passwd只能修改它自己的密碼。root localhost passwd 修改root使用者密碼 changing password for us...

Linux 修改使用者密碼

使用的linux版本是 ubuntu 18.10 live server amd64 知道乙個使用者名稱密碼時,修改使用者密碼,各個版本下都是通用的 重置密碼的時候,版本不同,可能操作的地方不一樣了。如果乙個賬號的密碼都不記得了 這通常是需要修改使用者密碼最多的情況 那就需要重置密碼,相對就比較複雜...

Linux 修改使用者密碼

linux修改密碼用 passwd 命令,用root使用者執行passwd passwd user name可以設定或修改任何使用者的密碼,普通使用者執行passwd只能修改它自己的密碼。root localhost passwd 修改root使用者密碼 changing password foru...