1、使用yum安装
# yum -y install expect
2、查看参数设置
usage: mkpasswd [args] [user] where arguments are: -l # (length of password, default = 9) -d # (min # of digits, default = 2) -c # (min # of lowercase chars, default = 2) -C # (min # of uppercase chars, default = 2) -s # (min # of special chars, default = 1) -v (verbose, show passwd interaction) -p prog (program to set password, default = passwd)参数:
-l # (密码的长度定义, 默认是 9)
-d # (数字个数, 默认是 2)
-c # (小写字符个数, 默认是 2)
-C # (大写字符个数, 默认是 2)
-s # (特殊字符个数, 默认是 1)
-v (详细。。。)
-p prog (程序设置密码, 默认是 passwd)
3、开始设置root用户的密码,使用新密码登录测试下。
密码长度20,数字5个,小写5个,大写5个,特殊5个# mkpasswd -l 20 -d 5 -c 5 -C 5 -s 5 rootZ}K7hp0UPJ6v@&,c5{d3
4 -bash-4.1# echo $RANDOM31413 默认是5个字符-bash-4.1# echo $RANDOM |md5sum 加md5sum 可以将密码延长,让后再用工具截取其中的某几个字符即可。bbe6b27e50c42d544b8ac7d9a664ed84 --bash-4.1# echo $RANDOM |md5sum |cut -c 4c-bash-4.1# echo $RANDOM |md5sum |cut -c 4-575-bash-4.1# echo $RANDOM |md5sum |cut -c 4-6b38-bash-4.1# echo $RANDOM |md5sum |cut -c 4-7022e
-bash-4.1# echo Long,long ago,ddddddd | cut -b 1-2 截取1-2个字符Lo-bash-4.1# echo Long,long ago,ddddddd | cut -c 1-2Lo
补充知识:
-bash-4.1# cat zifu.sh 子看看快快快2223333-bash-4.1# cut -c 1-2 zifu.sh 是字符character", 2233-bash-4.1# cut -b 1-2 zifu.sh -b 是字节 "byte"2233-bash-4.1# cut -b 1-3 zifu.sh 子222333-bash-4.1# cut -b 1-3 zifu.sh
5 更改密码的方法
方法一 :passwd 用户名 写相应的密码即可。
方法二:输入重定向
-bash-4.1# echo "234545"|passwd --stdin user3更改用户 user3 的密码 。passwd: 所有的身份验证令牌已经成功更新。-bash-4.1#
6 通过以上的解释最终写如下批量创建用户和密码的shell脚本:
#!/bin/bashfor i in `seq -w 0 20` -w 是对其数字部分do useradd user_$i passwd=`mkpasswd -s 0` echo $passwd |passwd --stdin user_$i echo "user_$i $passwd" >> /tmp/pass.logdone~