linux 批量创建用户获取8位随机密码

#创建账号  分组不分组只有一列useradd无法添加三个账号 添加账号  获取密码  执行最后一句
echo stu{4..6}|xargs -n 1|sed -r 's#(.*)#useradd 1;pass=$(date +%N|md5sum|cut -c 5-13);echo ${pass}|passwd --stdin 1;echo -e "1 ${pass} ">>/aa.log#g'|bash
#加入执行时间到日志
echo stu{4..6}|xargs -n 1|sed -r 's#(.*)#useradd 1;pass=$(date +%N|md5sum|cut -c 5-13);echo ${pass}|passwd --stdin 1;echo -e "1 ${pass} $(date "+%F %T") ">>/aa.log#g'|bash   

1.1.1 不使用for循环批量创建账号和8位随机密码

第一步获取8位随机码

date +%N|md5sum|cut -c 5-12

第二步找到命令 echo 123456|passwd --stdin stud1

[root@ob1 ~]# echo 123456|passwd --stdin stud1

Changing password for user stud1.

passwd: all authentication tokens updated successfully.

第三步批量创建账号

echo stud{5..7}|xargs -n 1|sed -r 's/(.*)/useradd 1/g' #xargs将空格替换为换行符

useradd stud5

useradd stud6

useradd stud7

或者

[root@ob1 ~]# echo stu{1..10}|tr " " " " #将空格替换为 换行符

stu1

stu2

.....

#创建账号  分组不分组只有一列useradd无法添加三个账号 添加账号  获取密码  执行最后一句

echo stu{4..6}|xargs -n 1|sed -r 's#(.*)#useradd 1;pass=$(date +%N|md5sum|cut -c 5-13);echo ${pass}|passwd --stdin 1;echo -e "1 ${pass} ">>/aa.log#g'|bash

版本二加入日志和将执行时间添加进去.

echo stu{4..6}|xargs -n 1|sed -r 's#(.*)#useradd 1;pass=$(date +%N|md5sum|cut -c 5-13);echo ${pass}|passwd --stdin 1;echo -e "1 ${pass} $(date "+%F %T") ">>/aa.log#g'|bash   

echo -e 输出的内容可以识别特殊字符换行符等

md5sum加密 

echo stud{5..7}|xargs -n 1|sed -r 's/(.*)/useradd 1/g'|bash

 

批量删除账号.

cat /etc/passwd|awk -F ":" '/^stu*/{print $1}'|sed -r 's/(.*)/userdel 1/g'|bash

cat /etc/passwd|awk  -F ":" '/^stu/{print $1}'|sed -r  's/(.*)/userdel -r 1/g'|bash

-exec 是删除文件的

[root@ob1 home]# cat /etc/passwd|awk  -F ":" '/^stu/{print $1}' -exec userdel {} ;

awk: cmd. line:1: fatal: cannot open file `-exec' for reading (No such file or directory)

原文地址:https://www.cnblogs.com/gaoyuechen/p/7528452.html