用shell脚本实现批量创建用户并修改密码

要求

已有一个文件userlist,里面有三个用户名,执行脚本时建立这三个用户,并提示成功建立,
还有密码文件passlist,里面有三个密码,分别对应上面的三个用户,分别改密码,并提示成功。

代码

#!/bin/bash
#权限检查,只有root用户才可以创建用户
[ "$USER" != "root" ] && {
        echo -e "\033[31mERROR: permission deny !!\033[0m"
        exit
}
#文件不能为空
[ -z $1 ] && {
        echo -e "\033[31mERROR: Pleaase input usernamefile following script !!\033[0m"
        exit
}
[ -z $2 ] && {
        echo -e "\033[31mERROR: Pleaase input passwordfile following script !!\033[0m"
        exit
}
#文件存在检查
[ -e $1 ] || {
        echo -e "\033[31mERROR: usernamefile not exist !!\033[0m"
        exit
}

[ -e $2 ] || {
        echo -e "\033[31mERROR: passwordfile not exist !!\033[0m"
        exit
}
#两个文件行数要一致,sed -n $=计算行数
while [ `sed -n $= $1` != `sed -n $= $2` ]
do
  echo -e "\033[31mERROR: 文件行数不一致 !!\033[0m" 
  exit
done

#x是用来记录到第几行也就是第几个用户的
export  x
x=0
for i in `cat $1`
do
#先检查用户是不是存在
  id $i &> /dev/null  && {
        echo $i已经存在!		
  }||{
  #用户不存在则创建,提示消息都放进垃圾桶
        useradd $i &> /dev/null && {
        echo 添加$i成功!
        x=$[x+=1]
        #显示passwd第x行的内容,然后更改密码
        echo `sed -n ${x}p $2` | passwd --stdin $i &> /dev/null && {
                echo $i密码修改成功
        }||{
                echo 密码修改失败
        }
        }||{
        echo 用户添加失败!
        }
        }
done

执行效果

可以看到会做异常检测,并且执行成功,成功创建用户
在这里插入图片描述

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值