shell腳本-批量添加用戶


批量添加用戶,要求如下

腳本一:不是很嚴格但是很簡潔的腳本

#!/bin/bash

 #該腳本用來實現批量添加用戶。
  #
  #作者阿鑫
  #日期2019/5/27
  #版本v1


#提示用戶腳本使用方法
[ $# -eq 0 ] && echo "Usage useradd.sh number" && exit
#判斷是否存在/data/user_passwd,若存在則移動該文件,做備份。
if [ -f /data/user_passwd ];then
        mv /data/user_passwd /data/user_passwd.bak-`date +%F`
else
        echo "hello" > /dev/null
fi
##使用for循環創建用戶
##passwd從標准輸入讀取密碼,並使用tee命令保存密碼到/data/user_passwd
for (( i=1;i<=$1;i++ ));do
        useradd -g users user_$i
        echo ` openssl  rand -base64  8 ` | tee -a /data/user_passwd | passwd user_$i --stdin
done

腳本二:在腳本一中密碼可以使用專門的密碼命令mkpasswd,實現更豐富的密碼規則。

    並且腳本一也存在一個問題,就是用戶名要求為user01的格式。

    /data/user_passwd只保存了秘密沒有保存用戶名。

    腳本二解決了這些問題

#!/bin/bash
#該腳本用來實現批量添加用戶。
#作者阿鑫
#日期2019/5/27
#版本v1

#查看是否安裝了mkpasswd命令
which mkpasswd &>/dev/null || yum install -y mkpasswd

#提示用戶腳本使用方法
[ $# -eq 0 ] && echo "Usage useradd.sh number" && exit

#判斷是否存在/data/user_passwd,若存在則移動該文件,做備份。
if [ -f /data/user_passwd ];then
        mv /data/user_passwd /data/user_passwd.bak-`date +%F`
else
        echo "hello" > /dev/null
fi

##使用for循環創建用戶
##passwd從標准輸入讀取密碼,並使用tee命令保存密碼到/data/user_passwd
for i in `seq 99`;do
        useradd -g users user_$i
        pass=`mkpasswd -l 12 -s 0`
        echo $pass | passwd  --stdin user_$i
        echo "user_$i $pass" >> /data/user_passwd
done

#單獨創建用戶user_100
useradd -g users user_100
echo 'mkpasswd -l 12 -s 0' | tee -a /data/user_passwd | passwd user_100 --stdin

echo “用戶創建完成”,密碼保存在/data/user_passwd

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM