天天看點

sell腳本應用:批量添加(删除)使用者

編寫shell腳本:

實驗案列一:編寫腳本用于批量添加使用者

要求如下:

要求提供互動功能,當管理者執行該腳本時,可以根據提示指定需添加的使用者數量(少于100)、使用者名字首、并能夠設定這些使用者賬戶的失效時間,初始密碼。

使用者名編号統一使用兩位數,如使用”01”、”02”、”03”的形式,而不是”1”、”2”、”3”的形式。

編寫對應的批量删節除使用者腳本,要能夠通過指令行參數指定使用者名字首,執行腳本後删除所有使用了該字首的使用者賬戶,但要防止删除root使用者。

批量添加使用者腳本:

1、批量添加使用者腳本myuadd.sh内容如下:

vi  myuadd.sh

#!/bin/bash

read-p "input nu <1-99>:" nu

read-p "input name:" name

read-p "input date <YYYY-MM-DD>:" date

read-p "input password:" password

a=1

if[ $nu -lt 100 ]

then

while[ $a -le $nu ]

 do

   if [ $a -lt 10 ]

   then

         useradd -e $date"$name"0"$a"

         echo "$password" | passwd--stdin "$name"0"$a" &>/dev/null

   else

         useradd -e $date"$name""$a"

echo "$password" | passwd--stdin "$name""$a" &>/dev/null

   fi

   a=`expr$a + 1`

done

fi

2、給腳本myuadd.sh增加x權限

Chmod  +x  myyuadd.sh

3、執行腳本myuadd.sh,添加使用者

./myyuadd

sell腳本應用:批量添加(删除)使用者

4、驗證結果:檢視/etc/passwd檔案是否添了新使用者

Tail   /etc/passwd

實驗案列二:批量删除使用者腳本:

1、批量删除使用者腳本myudel.sh内容如下:

Vi  myudel.sh

if[ $# -le 0 ] ; then

 echo "error:the prefix of users has notbe specified."

 echo "usage:$0 nameprefix"

 exit 1

tarjcvf /root/users.cnf.tar.gz /etc/passwd /etc/shadow /etc/group &>/dev/null

tobedel=`grep"$1" /etc/passwd | cut -d ":" -f 1 | grep -v"root"`

foru in $tobedel

do

 userdel -r $u &> /dev/null

2、給腳本myudel.sh增加x權限

Chmod  + x  myudel.sh

3、執行腳本myudel.sh,删除使用者。如./myudel.shcaiwu03或./myudel.sh caiwu

4、驗證結果:檢視/etc/passwd檔案中已删除的使用者是否還存在。

Tail  /etc/passwd

附:

我們可以用env或export指令檢視環境變量,使用set指令檢視所有變量(包括環境變量和自定義變量),使用unset指令删除變量

LINUX系統中大多數版本都有随機數生成器,就是/dev/random檔案。可以通過這個随機數檔案相關的系統環境變量$RANDOM來随機取得随機數。在BASH環境下,這個RANDOM變量的内容介于0——32767之間,(man bash,搜尋 RANDOM 可以看到說明)是以,隻要echo $RANDOM時,系統就會主動随機取出一個介于0——32767的數值。例如要想0-9之間的随機數時,可以用declare聲明數值類型

sell腳本應用:批量添加(删除)使用者

sell腳本應用:批量添加(删除)使用者