ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

使用shell脚本批量创建用户

2019-08-08 10:39:57  阅读:309  来源: 互联网

标签:脚本 bin shell 批量 benet localhost home root bash


1、使用for语句批量添加与删除特定用户:
for语句的操作对象为用户指定名称的变量,并通过in关键字为该变量预先设置了一个取值列表,多个取值之间以空格进行分隔。为于do…done之间的命令序列称为循环体。
①添加用户:

[root@localhost ~]# vim list.txt #准备一个用户名列表文件
zhangsan
lisi
wangwu
zhaoliu

#保存退出。

[root@localhost ~]# vim useradd.sh
#!/bin/bash
a=$(cat /root/list.txt)
for b in $a
do
useradd ${b}
echo “123456” | passwd --stdin ${b} &> /dev/null
done
#保存退出。
[root@localhost ~]# . useradd.sh
[root@localhost ~]# tail -5 /etc/passwd
benet❌1000:1000:benet:/home/benet:/bin/bash
zhangsan❌1001:1001::/home/zhangsan:/bin/bash
lisi❌1002:1002::/home/lisi:/bin/bash
wangwu❌1003:1003::/home/wangwu:/bin/bash
zhaoliu❌1004:1004::/home/zhaoliu:/bin/bash
②删除刚刚添加的用户:

[root@localhost ~]# vim userdel.sh
#!/bin/bash
a=$(cat /root/list.txt)
for b in $a
do
userdel -r ${b} &> /dev/null
done
#保存退出
[root@localhost ~]# . userdel.sh #执行脚本
[root@localhost ~]# tail -1 /etc/passwd
benet❌1000:1000:benet:/home/benet:/bin/bash
2、使用while语句批量添加和删除用户名有规律的账号:
使用shell脚本批量创建用户
使用while语句是,有两个特殊的条件测试操作,即true(真)和false(假)。使用true作为条件时,表示条件永远成立,循环体内的命令将无限执行下去,除非强制终止脚本,或通过exit语句退出脚本;反之,若使用false作为条件,则循环体将不会被执行,这两个特殊条件也可以用在if语句的条件测试中。
①添加:

[root@localhost ~]# vim piliang.sh
#!/bin/bash
name=“user”
i=1
while [ $i -le 10 ]
do
useradd name{name}namei
echo “123456” | passwd --stdin name{name}namei &> /dev/null
let i++
done
保存退出
[root@localhost ~]# . piliang.sh #执行脚本
[root@localhost ~]# tail /etc/passwd #查看用户
user1❌1001:1001::/home/user1:/bin/bash
user2❌1002:1002::/home/user2:/bin/bash
user3❌1003:1003::/home/user3:/bin/bash
user4❌1004:1004::/home/user4:/bin/bash
user5❌1005:1005::/home/user5:/bin/bash
user6❌1006:1006::/home/user6:/bin/bash
user7❌1007:1007::/home/user7:/bin/bash
user8❌1008:1008::/home/user8:/bin/bash
user9❌1009:1009::/home/user9:/bin/bash
user10❌1010:1010::/home/user10:/bin/bash

②删除刚才创建的用户:
[root@localhost ~]# vim pish.sh

#!/bin/bash
name=“user”
i=1
while [ $i -le 10 ]
do
userdel -r name{name}namei &> /dev/null
let i++
done
#保存退出
[root@localhost ~]# . pish.sh
[root@localhost ~]# tail -2 /etc/passwd
tcpdump❌72:72:

标签:脚本,bin,shell,批量,benet,localhost,home,root,bash
来源: https://blog.csdn.net/weixin_44907813/article/details/98848972

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有