这里要实现功能介绍

*读取一个用户列表文件

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

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

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

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

shell应用之批量添加用户实例的更多相关文章

  1. (转)通过shell脚本实现批量添加用户和设置随机密码以及生产环境如何批量添加

    通过shell脚本实现批量添加用户和设置随机密码以及生产环境如何批量添加 原文:http://www.21yunwei.com/archives/4773 有一个朋友问我如何批量创建用户和设置密码 , ...

  2. shell编写一个批量添加用户脚本

                                                          shell编写一个批量添加用户脚本 5.1问题 本例要求在虚拟机server0上创建/roo ...

  3. 用户管理 之 在Linux系统中,批量添加用户的操作流程

    一.阅读此文件您需要掌握的基础知识: <Linux 用户(user)和用户组(group)管理概述><用户(user)和用户组(group)配置文件详解><Linux 用 ...

  4. 工程师技术(五):Shell脚本的编写及测试、重定向输出的应用、使用特殊变量、编写一个判断脚本、编写一个批量添加用户脚本

    一.Shell脚本的编写及测 目标: 本例要求两个简单的Shell脚本程序,任务目标如下: 1> 编写一个面世问候 /root/helloworld.sh 脚本,执行后显示出一段话“Hello ...

  5. 利用shell实现批量添加用户

    批量添加用户并设置随机密码,把添加的用户的名字和密码保存到文件中. [root@lamp scripts]# cat user.sh #!/bin/sh ` do pass=$(-) //取随机数的方 ...

  6. Shell 脚本批量添加用户和用户密码

    #!/bin/bash#批量添加用户 设置密码for i in `seq 1 10`do if ! id user$i &> /dev/null then useradd user$i ...

  7. 【转载】干货再次来袭!Linux小白最佳实践:《超容易的Linux系统管理入门书》(连载八)用命令实现批量添加用户

    Windows添加用户需要至少5个界面,而Linux一条命令就搞定了,这是不是高效人士办公第一法则呢.本文不给你一堆参数和选项,不让你见识教条主义,只给你最实用的代码. 想每天能听到小妞的语音播报,想 ...

  8. (1)使用bash脚本实现批量添加用户

    脚本实现内容: 可以指定用户名前缀,指定添加数量的批量添加用户脚本,密码为10为随机小写字母,并把用户名和密码写入文件中. 脚本代码: #!/bin/bashread -p "用户名前缀:& ...

  9. Centos6配置samba服务器并批量添加用户和文件夹

    一.需求 局域网内有若干用户,所有用户访问一个共享目录 每个用户在共享目录里有自己的文件夹 每个用户都可以读取其他人的文件夹 每个用户只能对自己的文件夹有写入权限 所有用户都属于filesgroup组 ...

随机推荐

  1. sql中计算百分比

    sql中计算百分比:(转成字符串然后拼接%) ),) AS CHAR),'%') as aa from act_canal; 效果:

  2. APICloud关闭Key Building Resolve

    顶部菜单 --> 扩展 --> keybinding resolver --> toggle

  3. “.”开头,以"}"结尾,中间是任意字符的正则

    "."开头,以"}"结尾,中间是任意字符的正则 /^\..+\{$/

  4. 使用systemctl自定义系统服务

    1.创建系统服务文件,格式如下: [Unit] Description=httpd After=network.target [Service] Type=forking ExecStart=/usr ...

  5. 紫书 习题 11-7 UVa 10801 (单源最短路变形)

    把每个电梯口看作一个节点, 然后计算边的权值的时候处理一下, 就ok了. #include<cstdio> #include<vector> #include<queue ...

  6. STM32是如何进入中断服务函数xxx_IRQHandler的

    今天在看stm32的中断,一时间不理解stm32主函数是如何进入中断函数的,按C编程的理解,会有个特定的入口之类的,但是看demo过程中没有发现入口. 以串口中断服务函数void USART1_IRQ ...

  7. 【BZOJ 1207】[HNOI2004]打鼹鼠

    [链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 时间是按顺序的. 所以就有单调性啦. 写个DP就好. 设f[i]表示打第i只鼹鼠,最多能打几只鼹鼠. 则如果i和j的距离不超过它们的 ...

  8. 洛谷 P2960 [USACO09OCT]Milkweed的入侵Invasion of the Milkweed

    P2960 [USACO09OCT]Milkweed的入侵Invasion of the Milkweed 题目描述 Farmer John has always done his best to k ...

  9. 嵌入式表单字段中的内容可能被server更改以删除不安全的内容。是否要又一次载入您的页面以查看保存结果?

    嵌入式表单字段中的内容可能被server更改以删除不安全的内容.是否要又一次载入您的页面以查看保存结果?         近期有朋友问到,当他在SharePoint首页上进行编辑时.插入一段代码. 完 ...

  10. APK反编译去广告大揭秘

    APK反编译去广告 具体步骤: 1.下载 apktool 下载地址:https://code.google.com/p/android-apktool/downloads/list 2.通过apkto ...