为了保正主机安全,须要按期更改用户密码,可是这些密码要求有必定的安全性,而不是随便设定,如下是用系统提供的产生随机数的设备/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