linux脚本循环创建用户,shell应用之批量添加用户实例

这里要实现功能介绍

*读取一个用户列表文件

*给列表中的用户添加随机密码需要包含大小写字符和数字

*保存对应的用户和密码文件

*这些用户属于同个用户组

1、列表文件

[root@mail ~]# cat listuser.txt

andy

tom

ailis

wate

job

eils

2、这里我们用mkpasswd 命令生成,没有这个命令安装以下

expect这个包

[root@mail ~]# mkpasswd -d 3 -l 13 -s 0 -C 2

Ppkvy0pOwg6m1

3、给用户设定密码或修改密码

第一种 echo -e "123123\n123123\n" | passwd root #>echo-e 是接收特殊符号,\n是换换行

第二种 echo -e "123123" |passwd --stdin root

脚本实例1

#!/bin/bash

if [ $# -eq 0 ] ;then

echo "input file path"

exit 1

fi

if [ ! -f $1 ] ;then

echo "input file name"

exit 1

fi

while read aa ;do

pd=`mkpasswd -l 12 -s 0`

useradd $aa

echo $pd |passwd --stdin $aa

echo "$aa \and\ $pd" >> user_passwd.txt

done < $1

[root@mail sbin]# sh mkku.sh /home/rrad/listuser.txt

更改用户 andy 的密码 。

passwd:所有的身份验证令牌已经成功更新。

更改用户 tom 的密码 。

passwd:所有的身份验证令牌已经成功更新。

更改用户 ailis 的密码 。

passwd:所有的身份验证令牌已经成功更新。

更改用户 wate 的密码 。

passwd:所有的身份验证令牌已经成功更新。

更改用户 job 的密码 。

passwd:所有的身份验证令牌已经成功更新。

更改用户 eils 的密码 。

passwd:所有的身份验证令牌已经成功更新。

[rrad@mail ~]$ cat listuser.txt

andy

tom

ailis

wate

job

eils

[rrad@mail ~]$

脚本实例2

[root@mail sbin]# cat user.sh

#!/bin/bash

if ! which mkpasswd &> /dev/null

then

echo "need mkpasswd"

yum install -y expect

fi

for i in `seq -w 1 10`

do

pd=`mkpasswd -l 12 -C 6 -d 3 -s 0`

echo "add_$i"

useradd add_$i

echo $pd |passwd --stdin add_$i

echo "add_$i : $pd" >> ./user_passwd

done

[root@mail sbin]# cat user_passwd

add_01 : PR5jBW1GdiH4

add_02 : uwM2LD4ZQF8l

add_03 : k1KTLuKc8G2Q

add_04 : B06lMOOikL7N

add_05 : 1ex68WCNKWJe

add_06 : HK8CWV0eA3sy

add_07 : MvE23Q9BUeiD

add_08 : 9vLY6FzLGgZ8

add_09 : TCuV13VZEs9l

add_10 : 6KUVPv5cB8yA

-----END----

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值