Linux创建多个用户,并赋予随机密码,不使用循环语句
Linux创建多个用户,并赋予随机密码,要求不使用循环语句。
方法一
使用基本命令useradd和passwd添加用户和添加密码。
(注:RANDOM随机生成数字(3-5个不等)。)
创建一个用户
[root@Linux-jack ~]# useradd stu01
创建多个用户就是要重复上面的命令多次,但是一个一个输入会比较麻烦,但是我们可以先生成一串序列,然后使用替换的方法将序列替换成上面的格式。
[root@Linux-jack ~]# seq 10 1 2 3 4 5 6 7 8 9 10
然后我们使用sed命令将上面的序列替换成我们需要的命令
[root@Linux-jack ~]# seq -w 10|sed -r ‘s#(.*)#useradd stu\1#g‘ useradd stu01 useradd stu02 useradd stu03 useradd stu04 useradd stu05 useradd stu06 useradd stu07 useradd stu08 useradd stu09 useradd stu10
这样我们就可以一次性创建多个用户了,只需要将上面的内容利用管道传输给bash就能执行命令了。
[root@Linux-jack /]# seq -w 10|sed -r "s#(.*)#useradd stu\1#g"|bash [root@Linux-jack /]# [root@Linux-jack /]# [root@Linux-jack /]# tail -10 /etc/passwd stu01:x:502:502::/home/stu01:/bin/bash stu02:x:503:503::/home/stu02:/bin/bash stu03:x:504:505::/home/stu03:/bin/bash stu04:x:505:506::/home/stu04:/bin/bash stu05:x:506:507::/home/stu05:/bin/bash stu06:x:507:508::/home/stu06:/bin/bash stu07:x:508:509::/home/stu07:/bin/bash stu08:x:509:510::/home/stu08:/bin/bash stu09:x:510:511::/home/stu09:/bin/bash stu10:x:511:512::/home/stu10:/bin/bash
为这10个用户添加随机密码
基本思想和上面一样,先创建序列然后替换成我们需要的命令。
[root@Linux-jack ~]# seq -w 10|sed -r ‘s#(.*)#passwd stu\1#g‘ passwd stu01 passwd stu02 passwd stu03 passwd stu04 passwd stu05 passwd stu06 passwd stu07 passwd stu08 passwd stu09 passwd stu10
到这里后就要一个一个输入密码比较麻烦,但是passwd有一个参数--stdin可以直接使用echo命令将密码传入进去,题目要求是创建随机密码,这里要用到一个随机变量参数RANDOM
[root@Linux-jack ~]# echo $((RANDOM)) 20998 [root@Linux-jack ~]# echo $((RANDOM)) 4479 [root@Linux-jack ~]# echo $((RANDOM)) 17310 [root@Linux-jack ~]# echo $((RANDOM)) 23677
它会生成3到5个随机数,我们可以将这些数通过管道传输给passwd然后进行密码修改。
但是修改后的密码又看不到,设置了等于没有设置,于是我们再使用追加重定向将密码再传进一个文件夹中,这样就可以既添加了随机密码又可以看到密码是多少。
[root@Linux-jack /]# seq -w 10|sed -r ‘s#(.*)#jack="$((RANDOM))" ;echo $jack|passwd --stdin stu\1;echo "stu\1:$jack">>/mima.log#g‘|bash Changing password for user stu01. passwd: all authentication tokens updated successfully. Changing password for user stu02. passwd: all authentication tokens updated successfully. Changing password for user stu03. passwd: all authentication tokens updated successfully. Changing password for user stu04. passwd: all authentication tokens updated successfully. Changing password for user stu05. passwd: all authentication tokens updated successfully. Changing password for user stu06. passwd: all authentication tokens updated successfully. Changing password for user stu07. passwd: all authentication tokens updated successfully. Changing password for user stu08. passwd: all authentication tokens updated successfully. Changing password for user stu09. passwd: all authentication tokens updated successfully. Changing password for user stu10. passwd: all authentication tokens updated successfully. [root@Linux-jack /]# tail -10 /mima.log stu01:24794 stu02:11164 stu03:12613 stu04:17306 stu05:28956 stu06:27385 stu07:4530 stu08:23984 stu09:2428 stu10:18143
方法二
使用chpasswd更改用户密码
chpasswd是一个批量更改用户密码的命令,它是先读取一个文件,然后根据文件的内容,然后更改密码,文件内容格式如下:
USERNAME:PASS WORD
冒号左边是用户名,右边是要修改的密码。
首先创建10个用户
[root@Linux-jack /]# seq -w 10|sed -r ‘s#(.*)#userdel stu\1#g‘|bash [root@Linux-jack /]# [root@Linux-jack /]# [root@Linux-jack /]# tail -10 /etc/passwd stu01:x:502:502::/home/stu01:/bin/bash stu02:x:503:503::/home/stu02:/bin/bash stu03:x:504:505::/home/stu03:/bin/bash stu04:x:505:506::/home/stu04:/bin/bash stu05:x:506:507::/home/stu05:/bin/bash stu06:x:507:508::/home/stu06:/bin/bash stu07:x:508:509::/home/stu07:/bin/bash stu08:x:509:510::/home/stu08:/bin/bash stu09:x:510:511::/home/stu09:/bin/bash stu10:x:511:512::/home/stu10:/bin/bash
然后在文件中写入要修改的用户名和密码
[root@Linux-jack /]# echo stu{01..10}:$((RANDOM))|tr " " "\n" >mima.log [root@Linux-jack /]# cat /mima.log stu01:29906 stu02:8080 stu03:23509 stu04:5472 stu05:21851 stu06:20113 stu07:7789 stu08:3386 stu09:2396 stu10:11108
上面的tr命令作用是将前面的空格,更改成换行符,这样就不会在一行显示,因为chpasswd对文件内容格式有要求。
然后我们执行chpasswd命令,并测试是否能进入。
[root@Linux-jack /]# chpasswd<mima.log [root@Linux-jack /]# su - stu01 Welcome to my computer ,have a good day! [stu01@Linux-jack ~]$ su - stu02 Password: Welcome to my computer ,have a good day!
以上内容整理自老男孩教育23期“创建多个用户,不使用循环语句”,同学作业分享。
目的熟练使用基本命令来达到练习的目的。
参考范例:
http://user.qzone.qq.com/49000448/blog/1422183723
本文出自 “菜鸟的Linux历程” 博客,请务必保留此出处http://jackdady.blog.51cto.com/8965949/1661781
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。