按文件批量新增用户和组,生成随机密码,文档自动保存创建时间和密码,批量删除用户与组的两个脚本

  • 自己做的比较合自己心意,命令生成用户的好处是家目录这些都会自动新增好;
  • 这里删除时会把家目录也删除了;
  • 用文件可以新增任意合法的用户名与组名,组名重复也无所谓,自动忽略;
  • 用到awk选段,mkpasswd命令创建随机密码,定义变量,for循环,if语名,continue跳出一次循环,管道。
  • 这里的逻辑是:新增组再把用户加进去。组不存在才会新增,但即使存在也不影响后面的操作。加到组里后用户就有相应组的权限,用户肯定会属于一个组的,在组织架构里,不会有独行侠吧。
  • 删除时,先把所有用户都删完了,再尝试把组删除,组里面有人是删不掉的。

新建的脚本

需要用户名和密码文件user2.txt,格式如下:

t9:g1
t1:g1
t2:g2
t5:g1
t6:g2
#data /root/user2.txt one row - user:pw

for line in `cat user2.txt`;
do
{
echo $line
USER=`echo $line | awk -F ':' '{print $1}'`
GROUP=`echo $line | awk -F ':' '{print $2 }'`
echo $USER
echo $GROUP
groupadd $GROUP
useradd -g $GROUP $USER
if [ $? -eq 0 ] ; then
        echo "user $USER is successfully created on `date`">>userlog.txt
else
        continue
fi
PW=`mkpasswd -s 0 -l 8`
echo "Password is $PW">>userlog.txt
echo $PW | passwd --stdin $USER
#echo -e "12312312\n12312312" |passwd $USER
}
done

运行脚本屏幕结果

t9:g1
t9
g1
更改用户 t9 的密码 。
passwd:所有的身份验证令牌已经成功更新。
t1:g1
t1
g1
groupadd:“g1”组已存在
更改用户 t1 的密码 。
passwd:所有的身份验证令牌已经成功更新。
t2:g2
t2
g2
更改用户 t2 的密码 。
passwd:所有的身份验证令牌已经成功更新。
t5:g1
t5
g1
groupadd:“g1”组已存在
更改用户 t5 的密码 。
passwd:所有的身份验证令牌已经成功更新。
t6:g2
t6
g2
groupadd:“g2”组已存在
更改用户 t6 的密码 。
passwd:所有的身份验证令牌已经成功更新

userlog.txt记录信息

user t9 is successfully created on 2019年 09月 30日 星期一 11:30:58 CST
Password is dFOa36no
user t1 is successfully created on 2019年 09月 30日 星期一 11:30:58 CST
Password is 31WEohzj
user t2 is successfully created on 2019年 09月 30日 星期一 11:30:58 CST
Password is j56taDOt
user t5 is successfully created on 2019年 09月 30日 星期一 11:30:59 CST
Password is k1gKBk9n
user t6 is successfully created on 2019年 09月 30日 星期一 11:30:59 CST
Password is vu2hV5mH

删除用户与组的脚本

#! /bin/bash

#data /root/user2.txt one row - user:pw
#if successfully deteled, no feedback, other see the screen.
for line in `cat user2.txt`;
do
{
echo $line
USER=`echo $line | awk -F ':' '{print $1}'`
echo "process on $USER."
userdel -r $USER
}
done

for line in `cat user2.txt`;
do
{
echo $line
GROUP=`echo $line | awk -F ':' '{print $2 }'`
echo "process on $GROUP."
groupdel $GROUP
}
done

删除结果

t9:g1
process on t9.
t1:g1
process on t1.
t2:g2
process on t2.
t5:g1
process on t5.
t6:g2
process on t6.
t9:g1
process on g1.
t1:g1
process on g1.
groupdel:“g1”组不存在
t2:g2
process on g2.
t5:g1
process on g1.
groupdel:“g1”组不存在
t6:g2
process on g2.
groupdel:“g2”组不存在

一切回到创建前,当然文档还记录着创建时间和密码。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值