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

本文介绍如何使用shell脚本批量创建用户并为每个用户设置包含大小写字母及数字的随机密码。通过mkpasswd命令生成随机密码,并利用echo命令配合passwd命令完成密码设置,最后将用户名与密码保存至文件。
摘要由CSDN通过智能技术生成

这里要实现功能介绍

*读取一个用户列表文件

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

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

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

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----

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值