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----
shell应用之批量添加用户实例的更多相关文章
- (转)通过shell脚本实现批量添加用户和设置随机密码以及生产环境如何批量添加
通过shell脚本实现批量添加用户和设置随机密码以及生产环境如何批量添加 原文:http://www.21yunwei.com/archives/4773 有一个朋友问我如何批量创建用户和设置密码 , ...
- shell编写一个批量添加用户脚本
shell编写一个批量添加用户脚本 5.1问题 本例要求在虚拟机server0上创建/roo ...
- 用户管理 之 在Linux系统中,批量添加用户的操作流程
一.阅读此文件您需要掌握的基础知识: <Linux 用户(user)和用户组(group)管理概述><用户(user)和用户组(group)配置文件详解><Linux 用 ...
- 工程师技术(五):Shell脚本的编写及测试、重定向输出的应用、使用特殊变量、编写一个判断脚本、编写一个批量添加用户脚本
一.Shell脚本的编写及测 目标: 本例要求两个简单的Shell脚本程序,任务目标如下: 1> 编写一个面世问候 /root/helloworld.sh 脚本,执行后显示出一段话“Hello ...
- 利用shell实现批量添加用户
批量添加用户并设置随机密码,把添加的用户的名字和密码保存到文件中. [root@lamp scripts]# cat user.sh #!/bin/sh ` do pass=$(-) //取随机数的方 ...
- Shell 脚本批量添加用户和用户密码
#!/bin/bash#批量添加用户 设置密码for i in `seq 1 10`do if ! id user$i &> /dev/null then useradd user$i ...
- 【转载】干货再次来袭!Linux小白最佳实践:《超容易的Linux系统管理入门书》(连载八)用命令实现批量添加用户
Windows添加用户需要至少5个界面,而Linux一条命令就搞定了,这是不是高效人士办公第一法则呢.本文不给你一堆参数和选项,不让你见识教条主义,只给你最实用的代码. 想每天能听到小妞的语音播报,想 ...
- (1)使用bash脚本实现批量添加用户
脚本实现内容: 可以指定用户名前缀,指定添加数量的批量添加用户脚本,密码为10为随机小写字母,并把用户名和密码写入文件中. 脚本代码: #!/bin/bashread -p "用户名前缀:& ...
- Centos6配置samba服务器并批量添加用户和文件夹
一.需求 局域网内有若干用户,所有用户访问一个共享目录 每个用户在共享目录里有自己的文件夹 每个用户都可以读取其他人的文件夹 每个用户只能对自己的文件夹有写入权限 所有用户都属于filesgroup组 ...
随机推荐
- BZOJ 2301 莫比乌斯函数+分块
思路: 同BZOJ1101 就是加个容斥 - http://blog.csdn.net/qq_31785871/article/details/54340241 //By SiriusRen #inc ...
- 访问Storm ui界面,出现org.apache.thrift7.transport.TTransportException: java.net.ConnectException: Connection refused的问题解决(图文详解)
不多说,直接上干货! 前期博客 apache-storm-0.9.6.tar.gz的集群搭建(3节点)(图文详解) 问题详情 org.apache.thrift7.transport.TTranspo ...
- java高级——暴力反射
反射,java中一个比较高级的应用,主要和开发中的框架紧密相连.今天我们就介绍一下他的特性之一,暴力反射.(听名字很恐怖呦) package wo; public class A{ public St ...
- MyBatis数据持久化(五)数据源配置优化
在前面的教程中,我们把数据库的驱动.用户名.密码等配置项全部写在 SqlMapConfig.xml中: <dataSource type="POOLED"> <p ...
- 如何在Windows下安装Linux子系统(Ubuntu,openSUSU,SUSU Linux Server)
注意:只有win10才能安装,安装的linux没有图形界面. 1.首先在win10设置 --> 更新与安装 --> 针对开发人员 ,选择开发人员模式. 2.win10 Cortana -- ...
- hiho 1617 - 方格取数 - dp
题目链接 描述 给定一个NxN的方格矩阵,每个格子中都有一个整数Aij.小Hi和小Ho各自选择一条从左上角格子到右下角格子的路径,要求路径中每一步只能向右或向下移动,并且两条路径不能相交(除了左上右下 ...
- dedecms简略标题(副标题)使用方法教程
在常见的CMS系统中,我对dedecms算是比较熟悉的,自己网站用的也是这个系统.系统功能强大使用灵活,相信这也是它受到大多数中小站长青睐的原因. 再好的系统也有照顾不周的地方,很多站长也会有自己个性 ...
- luogub P4886 快递员(点分治)
记得是9月月赛题,当时做的时候觉得跟ZJOI2015幻想乡战略游戏那道题很像???,就写了,然后就写挂了... 我们发现假设当前点为根,我们算出\(m\)次询问中最远的\(a\)对点,如果这\(a\) ...
- C语言打印100以内的质数
C语言打印100以内的质数 #include <stdio.h> int main() { int number; int divisor; for( number = 3; number ...
- hdu5105Math Problem(分类讨论)
题目链接: huangjing 题目: 思路: 给出的是一个方程,首先讨论最高项系数. 1:a==0&& b==0 那么函数就是线性的.直接比較端点就可以. 2 a==0& ...