利用shell实现批量添加用户
批量添加用户并设置随机密码,把添加的用户的名字和密码保存到文件中。
[root@lamp scripts]# cat user.sh
#!/bin/sh for i in `seq -w `
do
pass=$(echo "`date`$RANDOM"|md5sum|cut -c -) //取随机数的方法是date结果和random随机数拼接并计算md5值取前8位
useradd kg$i
echo "$pass"|passwd --stdin kg$i
echo -e "kg$i\t$pass">>/tmp/pass.txt
done
[root@lamp scripts]# seq -w [root@lamp scripts]# sh user.sh
Changing password for user kg01.
passwd: all authentication tokens updated successfully.
Changing password for user kg02.
passwd: all authentication tokens updated successfully.
Changing password for user kg03.
passwd: all authentication tokens updated successfully.
Changing password for user kg04.
passwd: all authentication tokens updated successfully.
Changing password for user kg05.
passwd: all authentication tokens updated successfully.
Changing password for user kg06.
passwd: all authentication tokens updated successfully.
Changing password for user kg07.
passwd: all authentication tokens updated successfully.
Changing password for user kg08.
passwd: all authentication tokens updated successfully.
Changing password for user kg09.
passwd: all authentication tokens updated successfully.
Changing password for user kg10.
passwd: all authentication tokens updated successfully.
[root@lamp scripts]# cat /tmp/pass.txt
kg01 3577b000
kg02 3ddefcfe
kg03 c1ec8c1e
kg04 0bdcdafc
kg05 f172c380
kg06
kg07 fbe82aeb
kg08 cad21c1c
kg09 5f7cdc56
kg10 b60958ad
[root@lamp scripts]# tail - /etc/passwd
kg01:x::::/home/kg01:/bin/bash
kg02:x::::/home/kg02:/bin/bash
kg03:x::::/home/kg03:/bin/bash
kg04:x::::/home/kg04:/bin/bash
kg05:x::::/home/kg05:/bin/bash
kg06:x::::/home/kg06:/bin/bash
kg07:x::::/home/kg07:/bin/bash
kg08:x::::/home/kg08:/bin/bash
kg09:x::::/home/kg09:/bin/bash
kg10:x::::/home/kg10:/bin/bash
[root@lamp scripts]#
linux中取随机数的几种方法:
[root@lamp scripts]# echo $RANDOM [root@lamp scripts]# openssl rand -base64
C8ZBCmMhlKc=
[root@lamp scripts]# openssl rand -base64
BSaZWw8v
[root@lamp scripts]# openssl rand -base64
+S4K
[root@lamp scripts]# openssl rand -base64
daNeuw==
[root@lamp scripts]# date +%s%N [root@lamp scripts]# date +%s%N [root@lamp scripts]# date +%s%N [root@lamp scripts]# head /dev/urandom|cksum [root@lamp scripts]# head /dev/urandom|cksum [root@lamp scripts]# head /dev/urandom|cksum [root@lamp scripts]# cat /proc/sys/kernel/random/uuid
b8238fed-be13-47ac-8e30-b86ea0f822ff
[root@lamp scripts]# cat /proc/sys/kernel/random/uuid
0bb0cb5d-157e-45f9-889a-0d6a93d3d328
[root@lamp scripts]# cat /proc/sys/kernel/random/uuid
526c2cb3-a335--bf71-108e7517c4d9
[root@lamp scripts]#
利用shell实现批量添加用户的更多相关文章
- Shell 脚本批量添加用户和用户密码
#!/bin/bash#批量添加用户 设置密码for i in `seq 1 10`do if ! id user$i &> /dev/null then useradd user$i ...
- (转)通过shell脚本实现批量添加用户和设置随机密码以及生产环境如何批量添加
通过shell脚本实现批量添加用户和设置随机密码以及生产环境如何批量添加 原文:http://www.21yunwei.com/archives/4773 有一个朋友问我如何批量创建用户和设置密码 , ...
- 工程师技术(五):Shell脚本的编写及测试、重定向输出的应用、使用特殊变量、编写一个判断脚本、编写一个批量添加用户脚本
一.Shell脚本的编写及测 目标: 本例要求两个简单的Shell脚本程序,任务目标如下: 1> 编写一个面世问候 /root/helloworld.sh 脚本,执行后显示出一段话“Hello ...
- shell编写一个批量添加用户脚本
shell编写一个批量添加用户脚本 5.1问题 本例要求在虚拟机server0上创建/roo ...
- shell脚本 批量添加删除用户
2021-07-26 1.批量添加用户 # 编写脚本 vi add_student_50.sh # 添加用户组 student groupadd student # 添加用户 student1-stu ...
- 用户管理 之 在Linux系统中,批量添加用户的操作流程
一.阅读此文件您需要掌握的基础知识: <Linux 用户(user)和用户组(group)管理概述><用户(user)和用户组(group)配置文件详解><Linux 用 ...
- 【转载】干货再次来袭!Linux小白最佳实践:《超容易的Linux系统管理入门书》(连载八)用命令实现批量添加用户
Windows添加用户需要至少5个界面,而Linux一条命令就搞定了,这是不是高效人士办公第一法则呢.本文不给你一堆参数和选项,不让你见识教条主义,只给你最实用的代码. 想每天能听到小妞的语音播报,想 ...
- (1)使用bash脚本实现批量添加用户
脚本实现内容: 可以指定用户名前缀,指定添加数量的批量添加用户脚本,密码为10为随机小写字母,并把用户名和密码写入文件中. 脚本代码: #!/bin/bashread -p "用户名前缀:& ...
- Centos6配置samba服务器并批量添加用户和文件夹
一.需求 局域网内有若干用户,所有用户访问一个共享目录 每个用户在共享目录里有自己的文件夹 每个用户都可以读取其他人的文件夹 每个用户只能对自己的文件夹有写入权限 所有用户都属于filesgroup组 ...
随机推荐
- asp.net core mvc权限控制:权限控制介绍
在进行业务软件开发的时候,都会涉及到权限控制的问题,asp.net core mvc提供了相关特性. 在具体介绍使用方法前,我们需要先了解几个概念: 1,claim:英文翻译过来是声明的意思,一个cl ...
- asp.net core mvc权限控制:分配权限
前面的文章介绍了如何进行权限控制,即访问控制器或者方法的时候,要求当前用户必须具备特定的权限,但是如何在程序中进行权限的分配呢?下面就介绍下如何利用Microsoft.AspNetCore.Ident ...
- java线程之多个生产者消费者2.0
上一节中,通过while和notifyAll解决了多个生产者,消费者对共享资源的访问问题,现在开始升级 但是,仍然有改进之处,主要体现在两点: 1)使用新版本1.5开始后的锁Lock解决,目的将其全部 ...
- jquery与ajax的XMLHttpRequest对象介绍
首先 认识一个对象 这个对象叫XMLHttpRequest XMLHttpRequest对象可以提供在不刷新页面的情况下向服务器发送异步请求,并且接受服务器端返回的结果.从而实现局部更新当前页面的功 ...
- Angular2 Service实践——实现简单音乐播放服务
引言: 如果说组件系统(Component)是ng2应用的躯体,那把服务(Service)认为是流通于组件之间并为其带来生机的血液再合适不过了.组件间通信的其中一种优等选择就是使用服务,在ng1里就有 ...
- C++测试利器--google test开源测试框架
资料 偶然发现了google的测试框架gtest,马上试了下,效果挺不错,特别是对于写c++的人来说,方便很多.以前自己写c++的模块,通常是写好了模块后再另外定义些函数,然后在函数里面写测试用例来测 ...
- js五种设计模式说明与示例
第一种模式:js工厂模式 var lev=function(){ return "啊打"; }; function Parent(){ ...
- Github网站加载不完全,响应超时,如何解决
Github是一个代码托管平台和开发者社区,开发者可以在Github上创建自己的开源项目并与其他开发者协作编码.毫不夸张地说,高效利用Github是一个优秀的程序员必备的基本素质.可是,有的用户在打开 ...
- css4激动人心的新特性及浏览器支持度
CSS3的选择器提供了很多像:nth-child这样有用的选择器,并且得到浏览器支持.CSS的第四代 选择器CSS4选择器),经我们带来了更多有用的选择器. 1.否定伪类:not 否定伪类选择器其实在 ...
- Material Design学习-----TextInputLayout
TextInputLayout是为EditText提供了一种新的实现和交互方式.在传统的EditText中存在一个hint属性,是说在editext中没有内容时,默认的提示信息.当想edittext中 ...