linux 下生成随机密码

   为了保正主机安全,需要定期更改用户密码,但是这些密码要求有一定的安全性,而不是随便设定,以下是用系统提供的产生随机数的设备/dev/urandom生成随机密码

cat /dev/urandom | tr -dc "a-zA-Z0-9_+\~\!\@\#\$\%\^\&\*\(\)"| fold -w 12 |head -n 10

以上命令是用 大小写字母特殊符号 随机生成10 个12位的密码

为了减轻系统管理员的工作量,最近想把定期更改密码弄成脚本,定期用随机密码更改相应用户密码,并记录各用户对应的密码,如有哪位童鞋有经验或有兴趣,希望可以一起交流,谢谢

 ================================================================

刚刚写了个脚本

#!/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
 

供大家交流交流


用mkpasswd命令

使用mkpasswd命令,需要事先安装expect模块

参数:

-l 长度

-d 数字个数

-c 小写个数

-C 大写个数

-s 特殊字符个数

-p 另外指定一个生成密码的程序,默认是/etc/yppasswd


你可能感兴趣的:(linux,生成随机密码)