化简为 添加3个用户设置固定密码
方法1

利用sed/awk 里面
sed s###g 后两个井号之间写什么 屏幕就显示什么
awk 利用 "" 双引号里面写什么 屏幕就显示什么 [root@oldboyedu59 ~]# echo stu{01..3}|xargs -n1|sed -r s#(.*)#useradd \1#g useradd stu01 useradd stu02 useradd stu03 [root@oldboyedu59 ~]# echo stu{01..3}|xargs -n1|sed -r s#(.*)#useradd \1;echo 123456|passwd --stdin \1#g useradd stu01;echo 123456|passwd --stdin stu01 useradd stu02;echo 123456|passwd --stdin stu02 useradd stu03;echo 123456|passwd --stdin stu03补充:
& 符号在sed命令中s###g 表示前面正则匹配到的面密码内容 [root@oldboyedu59 ~]# echo {1..10} 1 2 3 4 5 6 7 8 9 10 [root@oldboyedu59 ~]# echo {1..10}|sed -r s#([0-9]+)#<\1>#g <1> <2> <3> <4> <5> <6> <7> <8> <9> <10> [root@oldboyedu59 ~]# echo {1..10}|sed -r s#[0-9]+#<&>#g <1> <2> <3> <4> <5> <6> <7> <8> <9> <10>bash 命令解释器
[root@oldboyedu59 ~]# echo pwd pwd [root@oldboyedu59 ~]# echo pwd|bash /root [root@oldboyedu59 ~]# echo hostname hostname [root@oldboyedu59 ~]# echo hostname |bash oldboyedu59找一个 进行测试 测试成功最终交给bash运行
[root@oldboyedu59 ~]# useradd stu02;echo 123456|passwd --stdin stu02 Changing password for user stu02. passwd: all authentication tokens updated successfully.交给bash运行
[root@oldboyedu59 ~]# echo stu{01..3}|xargs -n1|sed -r s#(.*)#useradd \1;echo 123456|passwd --stdin \1#g |bash Changing password for user stu01. passwd: all authentication tokens updated successfully. useradd: user stu02 already exists Changing password for user stu02. passwd: all authentication tokens updated successfully. Changing password for user stu03. passwd: all authentication tokens updated successfully.化简为 添加3个用户设置随机密码
方法1
[root@oldboyedu59 ~]# echo stu{01..3}|xargs -n1 stu01 stu02 stu03方法1 tr + head
[root@oldboyedu59 ~]# tr -cd a-zA-Z0-9 </dev/urandom |head -c8 B0iV36fZ[root@oldboyedu59 ~]# 方法2 date +md5sum/sha512sum + head [root@oldboyedu59 ~]# date +%N 211379317需要通过sed/awk拼接出下面的4个命令
useradd stu06;
pass=date +%N;
echo pass∣passwd−−stdinstu06;echopass stu06 >>/root/pass.txt通过sed/awk拼接后,站群服务器想要的试题随机结果为:
useradd stu04; pass=`date +%N`; echo $pass |passwd --stdin stu04 ; echo $pass stu04 >>/root/pass.txt useradd stu05; pass=`date +%N`; echo $pass |passwd --stdin stu05 ; echo $pass stu05 >>/root/pass.txt useradd stu06; pass=`date +%N`; echo $pass |passwd --stdin stu06 ; echo $pass stu06 >>/root/pass.txt拼接的云服务器命令如下:
[root@oldboyedu59 ~]# echo stu{04..6}|xargs -n1 |sed s#.*#useradd &;p=$(date +%N);echo $p|passwd --stdin &;echo $p & >>/p.txt#g useradd stu04;p=$(date +%N);echo $p|passwd --stdin stu04;echo $p stu04 >>/p.txt useradd stu05;p=$(date +%N);echo $p|passwd --stdin stu05;echo $p stu05 >>/p.txt useradd stu06;p=$(date +%N);echo $p|passwd --stdin stu06;echo $p stu06 >>/p.txt上面命令分步拆开样子:
echo stu{04..6}|xargs -n1 |sed s#.*# useradd &; p=$(date +%N); echo $p|passwd --stdin &; echo $p & >>/p.txt#上面随便找1条 执行 测试是否ok 测试成功就可以交给bash执行
[root@oldboyedu59 ~]# useradd stu05;p=$(date +%N);echo $p|passwd --stdin stu05;echo $p stu05 >>/p.txt Changing password for user stu05. passwd: all authentication tokens updated successfully. [root@oldboyedu59 ~]# id stu05 uid=1008(stu05) gid=1009(stu05) groups=1009(stu05) [root@oldboyedu59 ~]# su - oldboy Last login: Thu Apr 25 09:28:20 CST 2019 from 10.0.0.1 on pts/2 [oldboy@oldboyedu59 ~]$ logout [root@oldboyedu59 ~]# cat /p.txt 209574583 stu05 [root@oldboyedu59 ~]# su - oldboy Last login: Thu Apr 25 12:03:36 CST 2019 on pts/0 [oldboy@oldboyedu59 ~]$ su - stu05 Password: [stu05@oldboyedu59 ~]$交给bash执行
[root@oldboyedu59 ~]# echo stu{04..6}|xargs -n1 |sed s#.*#useradd &;p=$(date +%N);echo $p|passwd --stdin &;echo $p & >>/p.txt#g useradd stu04;p=$(date +%N);echo $p|passwd --stdin stu04;echo $p stu04 >>/p.txt useradd stu05;p=$(date +%N);echo $p|passwd --stdin stu05;echo $p stu05 >>/p.txt useradd stu06;p=$(date +%N);echo $p|passwd --stdin stu06;echo $p stu06 >>/p.txt [root@oldboyedu59 ~]# echo stu{04..6}|xargs -n1 |sed s#.*#useradd &;p=$(date +%N);echo $p|passwd --stdin &;echo $p & >>/p.txt#g|bash Changing password for user stu04. passwd: all authentication tokens updated successfully. useradd: user stu05 already exists Changing password for user stu05. passwd: all authentication tokens updated successfully. Changing password for user stu06. passwd: all authentication tokens updated successfully. [root@oldboyedu59 ~]# cat /p.txt 209574583 stu05 570581626 stu04 600781084 stu05 660376548 stu06执行后的免费源码下载测试
[root@oldboyedu59 ~]# cat /p.txt 209574583 stu05 570581626 stu04 600781084 stu05 660376548 stu06 [root@oldboyedu59 ~]# [root@oldboyedu59 ~]# su - oldboy Last login: Thu Apr 25 12:03:45 CST 2019 on pts/0 [oldboy@oldboyedu59 ~]$ su - stu06 Password: [oldboy@oldboyedu59 ~]$ su - stu05 Password: Last login: Thu Apr 25 12:04:01 CST 2019 on pts/0 [stu05@oldboyedu59 ~]$ logout [oldboy@oldboyedu59 ~]$ logout1.理解命令拼接:sed/awk 形式命令 最后交给bash执行
2.sed &