shell指令碼批量操作使用者

FreeeLinux發表於2017-11-28

批量操作使用者指令碼

用到的命令

seq

seq命令用於產生從某個數到另外一個數之間的所有整數。

seq -w 10 15
輸出結果:10 11 12 13 14 15

cut

cut命令用來顯示行中的指定部分,刪除檔案中指定欄位。cut經常用來顯示檔案的內容,類似於下的type命令。

echo 'hello' | cut -c 1-3
輸出結果: hel

openssl

OpenSSL是一個強大的安全套接字層密碼庫,囊括主要的密碼演算法、常用的金鑰和證書封裝管理功能及SSL協議,並提供豐富的應用程式供測試或其它目的使用。

這是一個超級強大的命令,內含幾乎所有的加密演算法庫。

命令使用方法參見:![http://blog.csdn.net/as3luyuan123/article/details/16811693]

openssl rand –base64 8
8是隨機數的長度,不是生成的字串長度
這裡寫圖片描述

useradd

useradd root
新增root使用者

chpasswd

可以man手冊檢視用法,格式為chpasswd username:passwd

批量新增使用者的指令碼

#!/bin/bash

for name in `seq -w 10 15`
do
    pass=`openssl rand -base64 8 | cut -c 1-9`
    useradd user$name && echo "user$name:$pass" | chpasswd
    echo User:user$name pass:$pass >> /home/ubuntu/user.log
done

批量刪除使用者指令碼

#!/bin/bash

for name in `seq -w 10 15`
do
    pass=`openssl rand -base64 8 | cut -c 1-9`
    useradd user$name && echo "user$name:$pass" | chpasswd
    echo User:user$name pass:$pass >> /home/ubuntu/user.log
done

相關文章