批量创建Linux用户账号
本shell脚本用于批量创建Linux用户账号并加入群组
使用环境:在windows中使用Excel编辑好账号、群组,使用Xmanager或其它方式上传至Linux系统,然后使用sh运行该脚本即可。
1. 使用excel准备账号群组文件,A栏为账号名,B栏为其加入的群组名:
2. 将其另存为:adduser.txt(默认使用ANSI编码方式)
3. 使用xmanager等工具将adduser.txt上传至Linux系统中(以/tmp/script/为例)。
4. 预先创建相应群组:
[root@LKCentOS ~]#groupadd group100
[root@LKCentOS ~]#groupadd group200
[root@LKCentOS ~]#groupadd group300
[root@LKCentOS ~]#groupadd group400
(以上也可用script完成)
5. 制作以下script,存为adduser.sh,并在root下运行sh adduser.sh:
#!/bin/bash
#Program:
# This program shows how to create accounts using a text file which include a lot of accounts and groups,etc.
#History:
#2011/11/20 LuoKun V1.0
#If you have any questions or suggestions,please write to luokun0810@hotmail.com.
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
# grep -v '^$' /tmp/script/adduser.txt 将空白行过滤掉;tr -d '\r'去除 DOS 档案留下来的 ^M 断行的符号。;awk '{print $1}'将adduser.txt第一栏(账号)取出。
usernames=$(grep -v '^$' /tmp/script/adduser.txt|tr -d '\r'|awk '{print $1}')
i=0
for username in $usernames
do
#根据$i将adduser.txt中每个账号对应的群组名取出。
i=$((i+1))
groupname=$(grep -v '^$' /tmp/script/adduser.txt|tr -d '\r'|awk '{print $1}'|sed -n "${i}p")
#将账号后面的群组设置为初始群组。
useradd $username -g $groupname
#将每个账号密码都设置成P@ssw0rd,并强制下次登录时修改密码。
echo "P@ssw0rd"|passwd --stdin $username
chage -d 0 $username
echo $username "has been created!"
done
6. 验证:
1) 群组:
2) 账号:
转载于:https://blog.51cto.com/helloit/719830
批量创建Linux用户账号相关推荐
- Shell编程面试题4_批量创建Linux用户并设置密码
老男孩出的Shell编程企业面试题4: 批量创建10个系统帐号oldboy01-oldboy10并设置密码(密码为随机8位字符串). 我的Shell脚本如下: #!/bin/bashfor num i ...
- linux批量创建系统,linux系统批量创建用户
脚本目的:批量创建linux系统用户 说明:要创建用户的主机密码写入到ip.txt文件中 [root@thsf02 scripts]# cat ip.txt 10.165.123.0 10.172.4 ...
- shell脚本第一篇——自定义创建用户和批量创建用户
shell脚本第一篇--自定义创建用户和批量创建用户 1.用shell脚本建立Linux用户 # vim /root/user.sh #!/bin/bash #通过脚本自定义创建用户 read -p ...
- Linux操作系统——批量创建用户
Linux操作系统--批量创建用户 文章目录 Linux操作系统--批量创建用户 第一步:创建组群GID为650的是student的组群 第二步:创建用户信息文件students.txt,并用vim编 ...
- linux批量创建用户和密码
老男孩教育第五关实战考试题:批量创建10个用户stu01-stu10,并且设置随机8位密码,要求不能用shell的循环(例如:for,while等),只能用linux命令及管道实现. 方法1: [ro ...
- linux实战考试题:批量创建用户和密码(不能使用循环)
批量创建10个用户,并且设置随机8位密码,要求不能用shell的循环(例如:for,while等),只能用linux命令及管道实现. 方法1: [root@oldboy /]# echo stu{01 ...
- 为什么脚本执行一行就不动了_Centos7 批量创建用户账号脚本
前言: 学习或生产工作中,你可能遇到批量创建 Centos 用户的情况,一段shell 脚本来帮助你: 如何做: 0,我们把脚本保存为 ac.sh: 1,提前建立一个 accountadd.txt 的 ...
- Linux实战考试题:批量创建用户和密码-看看你会么?
批量创建10个用户stu01-stu10,并且设置随机8位密码,要求:不能用shell循环(例如:for,while等),只能用linux命令及管道实现. 此题考察的是基础命令的熟练运用,因此,限制了 ...
- Linux中批量创建空白文件,在Linux中批量创建和修改文件或目录
1. 用一条命令直接创建 [fred@Royalmile Auto_Ops]$ touch `seq 10` [fred@Royalmile Auto_Ops]$ ls 1 10 2 3 4 ...
最新文章
- TCP/IP 基础知识总结
- Qt最新版5.14在Windows环境静态编译安装和部署的完整过程 VS 2019-Qt static link build Windows 32 bit/64 bit
- JVM 在遇到OOM(OutOfMemoryError)时生成Dump文件的三种方式
- Linux的概念与体系
- nginx配置 yii2 URL重写规则 SSI配置使shtml
- 真格量化——依托均线购买期权策略
- 学习笔记之数据可视化(二)—— 页面布局(下)
- 以下哪些参数不是sqlmap中的_变频器控制中必须要设置哪些参数?
- 移动端键盘弹起导致底部按钮上浮解决方案
- 2018.12.12 第九章虚拟内存
- mysql会话杀不掉_SQL Server会话KILL不掉,一直处于KILLED /ROLLBACK状态情形浅析
- 小程序中添加客服按钮contact-button
- 接收邮件的服务器称为,接收邮件服务器
- hscan扫描mysql代码_redis 迭代命令SCAN、SSCAN、HSCAN、ZSCAN
- 广告管理系统的UML分析与设计
- Web端轻松实现音视频聊天通话
- 进神经网络的学习方式(译文)----中
- ORACLE统计报表
- wordpress php7 兼容_WordPress升级PHP7后wp-code-highlight插件兼容性解决方法
- 解决WIN10系统电脑右下角网络图标不见网络无法连接的方法总结(2021.1030)
热门文章
- ajax遍历数组对象数组对象数组,javascript - 从ajax json请求中,如何将对象动态添加到数组中,以便我可以遍历它们? - 堆栈内存溢出...
- mac上python无法import redis
- mysql数据库输出数据语法错误_获取RDS-Mysql数据语法错误
- php怎么将网页另存为mht代码,mht转html代码(php)
- php 获取字符串长度 包含空格,php中常用的字符串长度函数strlen()与mb_strlen()实例解释...
- java 泛型 类型形参(Type Parameters) 通配符(wildcard)边界(Bound)
- Python datatime date
- C语言 底层IO openclose
- MySQL The JSON Data Type(JSON格式数据)
- 3.10 触发字检测