Linux
密碼修改腳本
我有一個文件,其中包含格式為 user:password 的使用者名和加密密碼(openssl passwd)。
現在我想每週使用一次 Cronjob 更改此使用者的密碼。在Janos
的幫助下,我製作了一個腳本,將密碼更改為 $RANDOM 生成的值,並將加密的密碼保存在 pw.txt 中,將未加密的密碼保存在 randompw.txt
r=$RANDOM cut -d: -f1 pw.txt | while read -r user; do echo "$user:$(openssl passwd $r)" done > newpw.txt mv newpw.txt pw.txt echo $r > randompw.txt
所以我的問題是:
1.) 有了這個,我只是為每個使用者隨機生成一個值,但我想要每個使用者的隨機值(文件中的每一行)。
2.) 如果我目前可以將每個使用者的使用者名和明文密碼輸入到 randompw.txt 中,那就太好了,我那裡只有一個 $RANDOM 密碼。
有人有想法嗎?
您可以將生成的密碼保存在變數中,並將其寫入兩個文件:
- 一份文件清晰
- 一個文件散列
例如:
# initialize (truncate) output files > clear.txt > hashed.txt cut -d: -f1 pw.txt | while read -r user; do # generate a hash from a random number hash=$(openssl passwd $RANDOM) # use the first 8 letters of the hash as the password pass=${hash:0:8} # write password in clear formats to one file, and hashed in another echo "$user:$pass" >> clear.txt echo "$user:$(openssl passwd $pass)" >> hashed.txt done