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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章