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

4、驗證結果:查看/etc/passwd文件是否添了新用戶

Tail   /etc/passwd

實驗案列二:批量刪除用戶腳本:

1、批量刪除用戶腳本myudel.sh內容如下:

Vi  myudel.sh

#!/bin/bash

if[ $# -le 0 ] ; then

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

 echo "usage:$0 nameprefix"

 exit 1

fi

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

done

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

Chmod  + x  myudel.sh

3、執行腳本myudel.sh,刪除用戶。如./myudel.shcaiwu03./myudel.sh caiwu

4、驗證結果:查看/etc/passwd文件中已刪除的用戶是否還存在。

Tail  /etc/passwd

附:

我們可以用envexport命令查看環境變量,使用set命令查看所有變量(包括環境變量和自定義變量),使用unset命令刪除變量

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


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