linux下批量修改使用者密碼
對系統定期修改密碼是一個很重要的安全常識,通常,我們修改使用者密碼都使用 passwd user 這樣的命令來修改密碼,但是這樣會進入互動模式,即使使用指令碼也不能很方便的批量修改,除非使用expect 這樣的軟體來實現,難道修改一下密碼還需要單獨安裝一個軟體包嗎? 不,我們其實還有其他很多方法可以讓我們避開互動的,下面具體寫一下具體的實現方式:
第一種:
echo “123456” | passwd –stdin root
echo doiido:helloboy |chpasswd
優點:方便快捷
缺點:如果你輸入的指令能被別人通過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 引數。
遠端批量新增賬戶並修改密碼:
# cat ip.txt
192.168.197.151
192.168.197.152
192.168.180.101
192.168.180.102
# cat pass.txt
abcd1
abcd2
abcd3
abcd4
# paste ip.txt pass.txt > all.txt
192.168.197.151 abcd1
192.168.197.152 abcd2
192.168.180.101 abcd3
192.168.180.102 abcd4
while read i;do echo -e ”
$i”;ssh -n $i “useradd leo”;done<ip.txt
while read i;do echo -e ”
$i”;ssh -n $i “tail -1 /etc/passwd”;done<ip.txt
while read i j;do echo -e ”
$i”;ssh -n $i “echo `$j`|passwd –stdin leo”;done<all.txt
while read i j;do echo -e ”
$i”;ssh -n $i “echo `root:$j`|chpasswd”;done<all-ubuntu.txt (ubuntu無法用passwd –stdin)
本文轉自leonardos51CTO部落格,原文連結: http://blog.51cto.com/leomars/1907230,如需轉載請自行聯絡原作者
相關文章
- chpasswd 批量修改密碼密碼
- expect批量修改密碼密碼
- linux下passwd命令設定修改使用者密碼Linux密碼
- linux 單使用者模式修改密碼Linux模式密碼
- 單使用者模式下修改root密碼模式密碼
- 修改git使用者密碼Git密碼
- redhat linux密碼修改RedhatLinux密碼
- Linux基礎命令---修改使用者密碼passwdLinux密碼
- RAC和Dataguard環境下修改sys使用者密碼密碼
- Ubuntu修改使用者密碼Ubuntu密碼
- mysql修改使用者密碼MySql密碼
- Centos修改root使用者密碼CentOS密碼
- 修改sys ,system使用者密碼密碼
- macos下parallel Desktop 中centos忘記密碼及修改原使用者密碼MacParallelCentOS密碼
- MySQL修改使用者密碼及重置root密碼MySql密碼
- 修改linux中ROOT密碼Linux密碼
- linux下批量修改檔案中的字元Linux字元
- 關於MySQL下修改root使用者密碼的解決MySql密碼
- 【轉載】Linux忘記root密碼--進入單使用者模式修改root密碼Linux密碼模式
- 修改ASM sys使用者密碼方法ASM密碼
- 修改root使用者密碼為root密碼
- linux建立使用者、設定密碼、修改使用者、刪除使用者Linux密碼
- Kali Linux 2020.1修改root使用者密碼Linux密碼
- mysql-8.0.16-winx64/Linux修改root使用者密碼MySqlLinux密碼
- 在Linux中,用psswd批次修改使用者密碼Linux密碼
- Linux精講——修改密碼passwdLinux密碼
- Linux批量建立使用者指令碼Linux指令碼
- linux批量新增使用者指令碼Linux指令碼
- MySQL8.0 忘記 root 密碼下如何修改密碼MySql密碼
- ubuntu系統下mysql重置密碼和修改密碼操作UbuntuMySql密碼
- Linux建立使用者、設定密碼、修改使用者、刪除使用者命令Linux密碼
- mysql如何修改root使用者的密碼MySql密碼
- mysql8.0+修改使用者密碼MySql密碼
- Oracle 限制業務使用者自身修改密碼Oracle密碼
- 修改MySQL的root使用者的密碼MySql密碼
- 新使用者首次登陸修改密碼密碼
- OEM 裡sysman使用者密碼的修改密碼
- Linux下快速重置MySQL使用者(root)密碼方法LinuxMySql密碼