3. 批量添加多个用户

批量创建多个用户的需求在生产环境下用的不多,但是经常会在面试时的笔试题上看到,本案例就是批量创建多个用户。具体要求如下:

1)批量创建100个用户;

2)用户名为user_01 - user_100;

3)给所有用户都设定一个随机密码,12位长度,且需要包含大小写字母及数字;

4)并把用户的密码保存到 /data/user_passwd 文件中;

5)这100个用户同属于users组。

参考脚本如下:

#!/bin/bash
#批量添加100个用户,user_01 - user_100

#检查是否有mkpasswd命令,没有则安装
if ! which mkpasswd $>/dev/null
then
    echo "没有mkpasswd命令,安装该命令:"
    yum install -y expect
fi

#判断 /data/user_passwd 文件是否存在
#若存在,应该先删除
[ -f /data/user_passwd ] && rm -rf /data/user_passwd

#100为三位数,只能遍历到99
for n in `seq -w 1 99`
do
    pass=`mkpasswd -l 12 -s 0`
    echo "添加用户user_100"
    
    useradd -g users user_$n
    echo "给用户user_$n设定密码"
    echo $pass | passwd --stdin user_$n
    echo "user_$n $pass" >> /data/user_passwd
done

pass=`mkpasswd -l 12 -s 0`
echo "添加用户user_100"
useradd -g users user_100
echo "给用户user_100设定密码"
echo $pass | passwd --stdin user_100
echo "user_100 $pass" >> /data/user_passwd

脚本中,

1)mkpasswd -s 指定特殊字符个数

2)如果遍历到100,那就是user_001 - user_100

3)passwd --stdin 从标准输入读取令牌,从而更改密码(只有root用户才能进行此操作)


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值