Shell脚本批量创建用户并随机生成密码

要求:批量创建10个系统账号oldboy01-oldboy10,并设置生成密码(密码不同).

实现脚本:

#!/bin/bash
#Question3
for i in $(seq -w 10)
do
        useradd -s /bin/bash oldboy$i
        echo "password$i" | md5sum | tee -a passwd.txt | passwd --stdin  oldboy$i
done

脚本执行效果:

[[email protected] q4]# sh q4.sh
Changing password for user oldboy01.
passwd: all authentication tokens updated successfully.
Changing password for user oldboy02.
passwd: all authentication tokens updated successfully.
Changing password for user oldboy03.
passwd: all authentication tokens updated successfully.
Changing password for user oldboy04.
passwd: all authentication tokens updated successfully.
Changing password for user oldboy05.
passwd: all authentication tokens updated successfully.
Changing password for user oldboy06.
passwd: all authentication tokens updated successfully.
Changing password for user oldboy07.
passwd: all authentication tokens updated successfully.
Changing password for user oldboy08.
passwd: all authentication tokens updated successfully.
Changing password for user oldboy09.
passwd: all authentication tokens updated successfully.
Changing password for user oldboy10.
passwd: all authentication tokens updated successfully.

查看passwd文件:
[[email protected] q4]# tail -n 10  /etc/passwd
oldboy01:x:501:501::/home/oldboy01:/bin/bash
oldboy02:x:502:502::/home/oldboy02:/bin/bash
oldboy03:x:503:503::/home/oldboy03:/bin/bash
oldboy04:x:504:504::/home/oldboy04:/bin/bash
oldboy05:x:505:505::/home/oldboy05:/bin/bash
oldboy06:x:506:506::/home/oldboy06:/bin/bash
oldboy07:x:507:507::/home/oldboy07:/bin/bash
oldboy08:x:508:508::/home/oldboy08:/bin/bash
oldboy09:x:509:509::/home/oldboy09:/bin/bash
oldboy10:x:510:510::/home/oldboy10:/bin/bash

账号成功创建。然后看一下密码文件:

[[email protected] q4]# ls
passwd.txt  q4.sh
[[email protected] q4]# cat passwd.txt
#MD5机密后的密码
10b222970537b97919db36ec757370d2  -
f1f16683f3e0208131b46d37a79c8921  -
32a3571fa12b39266a58d42234836839  -
10b222970537b97919db36ec757370d2  -
f1f16683f3e0208131b46d37a79c8921  -
32a3571fa12b39266a58d42234836839  -
978a60e3ebbb2dd56aa5f821d7f42a2b  -
cdffb1b0971ab2a3befc18c43d3ca5be  -
4679834a98e77dd2cec854b51de6d886  -
ad8e8436435f93f6a7b295418889edff  -
f46c891cad3974fc64b7133911404c2a  -
ebde6449998d7c84ccb23725ecac782b  -
6c60d92e5b9757ce16c8e238174a6cac  -
5147eebead1aee9cbe761ec89b1101f1  -
16a383252c3a264b3d977592ce8cf8ee  -
446174d0862f8f830ef4c54bdcf73d82  -
166335a86348834ffd4d79cd5a73867b  -

要求2:批量创建10个系统账号oldboy01-oldboy10,并随机设置密码(密码为8位字符).

基于上面脚本略作修改:

#!/bin/bash
#Question4
for i in $(seq -w 10)
do
        useradd -s /bin/bash oldboy$i
        echo "password$i" | md5sum |cut -c-8 | tee -a passwd.txt | passwd --stdin  oldboy$i
done

执行效果:

[[email protected] q4]# sh q4.sh
Changing password for user oldboy01.
passwd: all authentication tokens updated successfully.
Changing password for user oldboy02.
passwd: all authentication tokens updated successfully.
Changing password for user oldboy03.
passwd: all authentication tokens updated successfully.
Changing password for user oldboy04.
passwd: all authentication tokens updated successfully.
Changing password for user oldboy05.
passwd: all authentication tokens updated successfully.
Changing password for user oldboy06.
passwd: all authentication tokens updated successfully.
Changing password for user oldboy07.
passwd: all authentication tokens updated successfully.
Changing password for user oldboy08.
passwd: all authentication tokens updated successfully.
Changing password for user oldboy09.
passwd: all authentication tokens updated successfully.
Changing password for user oldboy10.
passwd: all authentication tokens updated successfully.
#看一下密码文件
#tee命令中由于使用-a,所以是追加而不是覆盖
[[email protected] q4]# cat passwd.txt
10b222970537b97919db36ec757370d2  -
f1f16683f3e0208131b46d37a79c8921  -
32a3571fa12b39266a58d42234836839  -
10b222970537b97919db36ec757370d2  -
f1f16683f3e0208131b46d37a79c8921  -
32a3571fa12b39266a58d42234836839  -
978a60e3ebbb2dd56aa5f821d7f42a2b  -
cdffb1b0971ab2a3befc18c43d3ca5be  -
4679834a98e77dd2cec854b51de6d886  -
ad8e8436435f93f6a7b295418889edff  -
f46c891cad3974fc64b7133911404c2a  -
ebde6449998d7c84ccb23725ecac782b  -
6c60d92e5b9757ce16c8e238174a6cac  -
5147eebead1aee9cbe761ec89b1101f1  -
16a383252c3a264b3d977592ce8cf8ee  -
446174d0862f8f830ef4c54bdcf73d82  -
166335a86348834ffd4d79cd5a73867b  -
cdffb1b0
4679834a
ad8e8436
f46c891c
ebde6449
6c60d92e
5147eebe
16a38325
446174d0
166335a8

上面少了随机的过程:

批量删除刚才创建的用户:

#!/bin/bash
#del_user.sh
for i in `seq -w 10`
do
    userdel -r oldboy$i
done

随机生成密码的脚本:

#!/bin/bash
#Question4
for i in $(seq -w 10)
do
        useradd -s /bin/bash oldboy$i
        echo "$RANDOM" | md5sum |cut -c-8 | tee  passwd.txt | passwd --stdin  oldboy$i
done

Shell脚本批量创建用户并随机生成密码,布布扣,bubuko.com

时间: 2024-12-26 20:48:15

Shell脚本批量创建用户并随机生成密码的相关文章

使用shell脚本批量创建用户

1.批量添加与删除特定用户: ①添加用户: [[email protected] ~]# vim list.txt #准备一个用户名列表文件 zhangsan lisi wangwu zhaoliu #保存退出. [[email protected] ~]# vim useradd.sh #!/bin/bash a=$(cat /root/list.txt) for b in $a do useradd ${b} echo "123456" | passwd --stdin ${b}

shell脚本批量创建用户,并指定随机密码

for n in `seq -w 10` do         pass=`echo $RANDOM|md5sum| cut -c 2-9`         useradd test$n         echo $pass | passwd --stdin test$n         echo -e "test$n \t $pass" >> /tmp/user.log done 注: seq的-w用法 随机数的生成 cut -c:截取指定范围的字符 $RANDOM生成随

Linux系统编写shell脚本批量创建和删除用户

一.编写shell脚本批量添加用户 实现方法:判断用户是否存在,存在则返回错误提示,同时判断用户文件是否存在,不存在则退出 1.创建添加用户脚本 [[email protected] ~]# vim useradd.sh #!/bin/bashif [ $# -eq 0 ];then        echo "你没有输入任何文件!"        exit 1fi if [ ! -f $1 ];then        echo "输入有误!"        exit

企业实战脚本案例2:批量创建用户并设置初始密码

批量创建用户并设置初始密码 目录: 1.脚本功能介绍 2.脚本制作技术需求 2.1 useradd命令 2.2 id命令 2.3 passwd命令 2.4 随机密码 2.5 while循环+case+select 3.脚本编写案例 一.脚本功能介绍 在企业中生产或运维中,经常会遇到VPN服务器.企业网盘.企业邮箱.云桌面私有账号等等一系列的服务器.当批量新员工入职时,经常需要批量账号分配给新员工,若此类账号存储在数据库时,管理员可根据公司账号命名规范通过专有图形化系统进行录入账号,若账号存储在系

SHELL脚本批量添加用户

在Linux服务中添加相应的用户账号,初始密码均为"123456".可以先指定所有用户的列表文件,然后编写一个名为uadduser.sh的脚本 [[email protected] ~]# vim /root/users.txt                       //新建一个指定所有用户的列表文件xiaomingxiaoqingxiaofangxiaodong [[email protected] ~]# vim uadduser.sh         //创建批量添加用户的

linux实战考试题:批量创建用户和随机8位密码-看看你会多少种?

方法1: 使用((RANDOM+10000000))生成随机密码 echo stuo{01..3}|tr " " "\n"|sed -r 's#(.*)#useradd \1 ; pass=$((RANDOM+10000000)); echo $pass|passwd --stdin \1;echo \1 $pass >>/tmp/oldboy.log#g'|bash 方法2:[[email protected] ~]# echo yuyi{01..3}

python小脚本批量创建用户和ssh互信

#!/usr/bin/python from fabric.api import * for i in range(24,34): host = '[email protected]' + str(i) env.hosts.append(host) env.password = '111111' def addusers(): sudo('useradd -d /home/ctier -s /bin/bash ctier;echo ctier:"123456" | chpasswd')

shell批量创建用户

#!/bin/bash cat << EOF ************************************************************ 批量添加用户并随机生成8个字符串作为其密码 www.tianfeiyu.com ************************************************************ EOF admin=feiyu #定义所要添加用户的前缀名 [ -f /etc/init.d/functions ] &

shell脚本之centos批量创建用户

操作环境:centos7 执行命令: cat /etc/passwd | grep zcl   #确认没有zcl相关用户: mkdir -p /zcl/shell/ #创建脚本存放目录: cd /zcl/shell/ #切换至脚本目录: #编辑批量创建用户脚本: echo " #!/bin/bash" groupadd zcl_group for user in zcl1 zcl2 zcl3; do useradd -G zcl_group $user; echo "1234