创建个用户10,并给他们设置随机密码,密码记录到一个文件里,文件名userinfo.txt
用户从user_00到user_09
密码:包括大小写字母以及数字,密码长度15位
#!/bin/bash
#author:tongby
#version:t1
#date:2023-10-12
if [ -f /tmp/userinfo.txt ]
then
rm -f /tmp/userinfo.txt
fi
if ! which mkpasswd
then
yum install -y expect
fi
for i in `seq -w 0 09`
do
p=`mkpasswd -l 15 -s 0`
useradd user_${i} && echo "${p}"| passwd --stdin user_${i}
echo "user_${i} ${p}" >> /tmp/userinfo.txt
done
mkpasswd生成随机字符串,-l指定长度,-s指定特殊字符串个数,-c指定小写字母个数,-C指定大写字母个数,-d指定数字个数,可以根据题意使用
seq生成序列,seq 开始数字 结束数字
seq 开始数字 步长 结束数字(默认步长为1,可以从大到小即步长 为负数)
echo password |passwd --stdin username非交互式修改密码
expect是一种脚本语言,它能够代替人工实现与终端的交互,主要应用于执行命令和程序时,系统以交互形式要求输入指定字符串,实现交互通信
chmod a+x etv2.sh
bash -x etv2.sh
结果
user_00 twqeTirsydjT84s
user_01 IccaqhhljVzc41s
user_02 vjumV0ui5lxryFs
user_03 BbogoseY8he5sbv
user_04 u6pwCH5layvmvpt
user_05 lrUv6Hccd7uyrtr
user_06 8swJfpDhj7uveso
user_07 q8ysab2VutAopkp
user_08 smr1Rw6unykIpke
user_09 ydgcat8tLWfrs3p