1. 程式人生 > >Shell指令碼批量建立使用者並隨機生成密碼

Shell指令碼批量建立使用者並隨機生成密碼

要求:批量建立10個系統賬號oldboy01-oldboy10,並設定生成密碼(密碼不同).

實現指令碼:

#!/bin/bash

#Question3

for i in $(seq -w 10)

do

useradd -s /bin/bash oldboy$i

echo "password$i" | md5sum | tee -a passwd.txt | passwd --stdin oldboy$i 

done

要求2:批量建立10個系統賬號oldboy01-oldboy10,並隨機設定密碼(密碼為8位字元).

基於上面指令碼略作修改:

#!/bin/bash

#Question4

for i in $(seq -w 10)

do

useradd -s /bin/bash oldboy$i

echo "password$i" | md5sum |cut -c-8 | tee -a passwd.txt | passwd --stdin oldboy$i 

done

批量刪除剛才建立的使用者:

#!/bin/bash 
for i in $(seq -w 10) 
do
        useradd -s /bin/bash oldboy$i 
        echo "password$i" | md5sum | tee -a passwd.txt | passwd --stdin  oldboy$i 
done

隨機生成密碼的指令碼:

#!/bin/bash #Question4 for in $(seq -w 10) do

useradd -s /bin/bash oldboy$i

echo "$RANDOM" | md5sum |cut -c-8 | tee passwd.txt | passwd --stdin oldboy$i done

要求1: 使用for迴圈在/root/scripts/practice/q1/oldboy 目錄下建立十個檔案.名稱依次為:

oldboy-1,

oldboy-2,

.....

oldboy-10.

指令碼實現:

#!/bin/bash
#Question1 shopt -s expand_aliases alias ll="ls -l" cd /root/scripts/practice/q1 #首先判斷目錄是否存在,不存在則建立目錄 if [ ! -e oldboy ] then /bin/mkdir oldboy else echo "" fi path=/root/scripts/practice/q1/oldboy cd $path for((i=1;i<=10;i++)) do /bin/touch oldboy-$i done ll $path

要求2: 將上訴建立的所有oldboy-檔案,使用for迴圈批量修改為Linux-.

指令碼實現:

#!/bin/bash #Question2 shopt -s expand_aliases alias ll='ls -l' path=/root/scripts/practice/q1/oldboy cd $path for ((i=1;i<=10;i++)) do /bin/mv oldboy-$i Linux-$i done ll $path

要求:寫一個指令碼判斷某個網路內所有活動的IP地址.

實現指令碼:

#!/bin/bash #script_name: ipscan.sh file1=/root/scripts/uplist file2=/root/scripts/downlist if [ -e $file1 ] then rm -rf $file1 fi if [ -e $file2 ] then rm -rf $file2 fi for ((i=2;i<=254;i++)) do /bin/ping -c 1 192.168.3.$i >>/dev/null if [ $? -eq 0 ] then echo "192.168.3.$i is alive" >> /root/scripts/uplist else echo "192.168.3.$i is not alive" >> /root/scripts/downlist fi done

批量刪除剛才建立的使用者:
#!/bin/bash 
#del_user.sh 
for i in `seq -w 10` 
do
    userdel -r oldboy$i 
done

隨機生成密碼的指令碼:
#!/bin/bash 
#Question4 
for i in $(seq -w 10) 
do
        useradd -s /bin/bash oldboy$i 
        echo "$RANDOM" | md5sum |cut -c-8 | tee  passwd.txt | passwd --stdin  oldboy$i 
done