您的当前位置:首页 >人工智能 >Linux面试题-批量添加用户并设置8位随机密码 正文

Linux面试题-批量添加用户并设置8位随机密码

时间:2025-11-05 14:49:28 来源:网络整理编辑:人工智能

核心提示

一.批量添加用户stu01 stu02 stu03 并设置123456化简为 添加3个用户设置固定密码1.最终目标:useradd stu01 ;echo 123456|passwd --stdin

一.批量添加用户stu01 stu02 stu03 并设置123456

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

1.最终目标:

useradd stu01 ;echo 123456|passwd --stdin stu01 useradd stu02 ;echo 123456|passwd --stdin stu02 useradd stu03 ;echo 123456|passwd --stdin stu03

2.第1个里程碑-生成用户名

方法1

Linux面试题-批量添加用户并设置8位随机密码

[root@oldboyedu59 ~]# echo stu{01..3}|xargs -n1 stu01 stu02 stu03

第2个里程碑-命令拼接

利用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>

第3个里程碑-把内容运行

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.

二.批量添加用户stu04 stu05 stu06 随机8位密码

化简为 添加3个用户设置随机密码

第1个里程碑-生成用户名

方法1

[root@oldboyedu59 ~]# echo stu{01..3}|xargs -n1 stu01 stu02 stu03

第2个里程碑-生成随机密码

方法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

第3个里程碑-命令拼接

需要通过sed/awk拼接出下面的4个命令

useradd stu06;

pass=date +%N;

echo pass∣passwd−−stdinstu06;echopass stu06 >>/root/pass.txt

通过sed/awk拼接后,云南idc服务商想要的试题随机结果为:

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

拼接的WordPress模板命令如下:

[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 ~]$

第4个里程碑-交给bash执行并测试

交给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 ~]$ logout

总结:

1.理解命令拼接:sed/awk 形式命令 最后交给bash执行

2.sed &

下一篇:很多朋友都知道Ubuntu是一个非常不错的Linux发行版,要在官网下载到Ubuntu也非常简单。但下载好ISO之后大家要怎么来安装呢?当然,早年前我们都是通过记录DVD光盘的方式来进行安装,现在随着光驱逐步被市场所淘汰,Ubuntu同Windows一样与时俱进,同样也可以通过制作Ubuntu安装U盘的方式来进行安装。下面我们就来介绍下如何在Windows、Mac甚至Linux平台下,如何制作Ubuntu安装U盘的几种方式。Ubuntu版本的选择首先大家需要知道Ubuntu有LTS版本和“技术前沿版”,这两种版本都可以作为日常的桌面终端进行使用,但通常我们会认为LTS版本更加稳定, 而且可以获得至发行之日起为期5年的技术支持。而LTS版本之间发行的所谓“技术前沿版”仅有9个月的支持周期,到期之后用户就必需升级到新的版本下。再有就是32位和64位版本选择的问题。我个人比较建议大家都选择目前较主流的64位版本进行安装,当然,假如你的电脑太老旧或不能支持的话,还是安装32位吧!之前有一个比较流行的说法是内存小于3GB时就不要选择64位版本进行安装,其实这种说法可以忽略不计,64位可以更加充分的利用CPU支持,哪怕你的内存小于3GB。制作Ubuntu安装U盘一旦Ubuntu的ISO下载安装,我们就需要将其写入到U盘当中。其实无法你在哪种操作系统中制作Ubuntu安装U盘的方式都大相径庭,下面我们就分别进行介绍。1.Windows中制作Ubuntu安装U盘Universal USB Installer是一个Windows下制作Linux安装U盘非常流行和常用的一个工具,该工具是绿色版本不需要安装,支持当前主流的Linux发行版,当然也支持Ubuntu。打开Universal USB Installer,之后我们只需按上图所示选择好下载到Ubuntu镜像,再指定好我们当前U盘的盘符即可。为了保证操作过程中不出问题,建议大家勾选对U盘进行格式化。2.Mac中制作Ubuntu安装U盘在Mac下制作Ubuntu安装U盘对很多普通用户来说就比较棘手了,因为我们必需用到Mac的终端命令。当然好处就是不用下载那些杂七杂八又不常用的工具来占用空间了。打开终端,使用如下命令:先浏览到下载文件夹:复制代码代码如下:cd ~/Downloads然后执行如下命令:复制代码代码如下:hdiutil convert -format UDRW -o ubuntu.iso ubuntu-xxxxxx.iso最后一部分是你下载好的Ubuntu镜像的文件名,请执行前按你的情况替换好。该命令可以将ISO镜像转换成Mac更容易地实现。再执行,删除Mac版为镜像文件添加的.dmg扩展名:复制代码代码如下:mv ubuntu.iso.dmg ubuntu.iso下一步列出当前驱动器:复制代码代码如下:diskutil list然后插入U盘重新执行以上命令:复制代码代码如下:diskutil list找出之前没有的驱动器挂载点后执行:复制代码代码如下:diskutil unmountDisk /dev/diskN其中N是上条命令中找出的U盘挂载点号。执行如下命令开始写入Ubuntu镜像文件到U盘:复制代码代码如下:sudo dd if=./ubuntu.iso of=/dev/rdiskN bs=1m写入完成后,我们执行如下命令弹出U盘就制作完成了:复制代码代码如下:diskutil eject /dev/diskN3.Linux中制作Ubuntu安装U盘Linux下制作Ubuntu安装U盘的方式与Mac类似,都是通过终端命令来完成:先浏览到下载文件夹:复制代码代码如下:cd ~/Downloads然后使用如下命令开始写入:复制代码代码如下:sudo dd if=./ubuntu-iso-name.iso of=/dev/sdX其中X为U盘的挂载点,当然ubuntu-iso-name表示的是下载好Ubuntu镜像的名称,需要你自己改好。制作完成后使用如下命令推出U盘即可:复制代码代码如下:sudo eject /dev/sdX以上我们介绍了3种制作Ubuntu安装U盘的方式,相信大家按步骤来都可以制作完成,希望大家喜欢该文。