爲了保正主機安全,須要按期更改用戶密碼,可是這些密碼要求有必定的安全性,而不是隨便設定,如下是用系統提供的產生隨機數的設備/dev/urandom生成隨機密碼安全
cat /dev/urandom | tr -dc "a-zA-Z0-9_+\~\!\@\#\$\%\^\&\*\(\)"| fold -w 12 |head -n 10bash
以上命令是用 大小寫字母特殊符號 隨機生成10 個12位的密碼dom
爲了減輕系統管理員的工做量,最近想把按期更改密碼弄成腳本,按期用隨機密碼更改相應用戶密碼,並記錄各用戶對應的密碼,若有哪位童鞋有經驗或有興趣,但願能夠一塊兒交流,謝謝ide
================================================================it
剛剛寫了個腳本class
#!/bin/bash
#create by dennis.xie 2012-09-07
_var_user=`awk -F : '$3>=1000{print $1}' /etc/passwd`
_var_no=`awk -F : '$3>=1000{print $1}' /etc/passwd | wc -l`
#echo $_var_no
_var_passwd=`cat /dev/urandom | tr -dc "a-zA-Z0-9+_\~\!\@\#\$\%\^\&\*\(\)" | fold -w 12 | head -$_var_no`
#echo "passwd"
#echo $_var_passwd
#echo "=============="
var_user=($_var_user)
var_pass=($_var_passwd)
#echo ${var_pass[0]}
#echo ${var_pass[1]}
for((i=0;i<$_var_no;i++))
do
echo ${var_pass[i]} | passwd --stdin ${var_user[i]}
echo "user: ${var_user[i]} passwd:${var_pass[i]}" >> /tmp/newpasswd.txt
done
awk
供你們交流交流隨機數
用mkpasswd命令程序
使用mkpasswd命令,須要事先安裝expect模塊密碼
參數:
-l 長度
-d 數字個數
-c 小寫個數
-C 大寫個數
-s 特殊字符個數
-p 另外指定一個生成密碼的程序,默認是/etc/yppasswd