shell脚本-批量添加用户
批量添加用户,要求如下
脚本一:不是很严格但是很简洁的脚本
#!/bin/bash
#该脚本用来实现批量添加用户。
#
#作者阿鑫
#日期2019/5/27
#版本v1
#提示用户脚本使用方法 [ $# -eq 0 ] && echo "Usage useradd.sh number" && exit #判断是否存在/data/user_passwd,若存在则移动该文件,做备份。 if [ -f /data/user_passwd ];then mv /data/user_passwd /data/user_passwd.bak-`date +%F` else echo "hello" > /dev/null fi ##使用for循环创建用户 ##passwd从标准输入读取密码,并使用tee命令保存密码到/data/user_passwd for (( i=1;i<=$1;i++ ));do useradd -g users user_$i echo ` openssl rand -base64 8 ` | tee -a /data/user_passwd | passwd user_$i --stdin done
脚本二:在脚本一中密码可以使用专门的密码命令mkpasswd,实现更丰富的密码规则。
并且脚本一也存在一个问题,就是用户名要求为user01的格式。
/data/user_passwd只保存了秘密没有保存用户名。
脚本二解决了这些问题
#!/bin/bash #该脚本用来实现批量添加用户。 #作者阿鑫 #日期2019/5/27 #版本v1 #查看是否安装了mkpasswd命令 which mkpasswd &>/dev/null || yum install -y mkpasswd #提示用户脚本使用方法 [ $# -eq 0 ] && echo "Usage useradd.sh number" && exit #判断是否存在/data/user_passwd,若存在则移动该文件,做备份。 if [ -f /data/user_passwd ];then mv /data/user_passwd /data/user_passwd.bak-`date +%F` else echo "hello" > /dev/null fi ##使用for循环创建用户 ##passwd从标准输入读取密码,并使用tee命令保存密码到/data/user_passwd for i in `seq 99`;do useradd -g users user_$i pass=`mkpasswd -l 12 -s 0` echo $pass | passwd --stdin user_$i echo "user_$i $pass" >> /data/user_passwd done #单独创建用户user_100 useradd -g users user_100 echo 'mkpasswd -l 12 -s 0' | tee -a /data/user_passwd | passwd user_100 --stdin echo “用户创建完成”,密码保存在/data/user_passwd
posted on 2020-09-06 10:12 HowOldAreYou 阅读(1522) 评论(0) 编辑 收藏 举报