天天看點

編寫腳本批量添加、删除使用者

環境要求:

編寫相應腳本用來批量添加使用者;

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

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

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

批量添加使用者腳本:

1、建立批量添加使用者腳本useradd.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 "$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、給腳本useradd.sh增加x權限

編寫腳本批量添加、删除使用者

3、執行腳本useradd.sh,添加以hello和www為字首的使用者:

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

編寫腳本批量添加、删除使用者

tail -16/etc/passwd 

編寫腳本批量添加、删除使用者

批量删除使用者:

1、批量删除使用者腳本userdel.sh

截圖如下:

編寫腳本批量添加、删除使用者

内容如下:

#!/bin/bash

if [ $# -le 0 ]

then

echo"Error:The prefix of users has not be specified."

echo"usage:$0nameprefix"

exit1

fi

tar jcvf /root/usrs.cnf.tar.gz /etc/passwd /etc/shadow /etc/group &> /dev/null

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

for u in $usersdel

do

userdel -r $u &> /dev/null

done 

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

編寫腳本批量添加、删除使用者

3、執行腳本userdel.sh,删除上邊建立使用者。如userdel.sh  hello 或userdel.sh  www

編寫腳本批量添加、删除使用者

4、驗證結果:檢視/etc/passwd檔案中已删除的使用者是否還存在。發現隻剩系統服務使用者。

編寫腳本批量添加、删除使用者

總結:批量建立使用者,在實際生産環境中有很多種方法,不隻for語句一種添加方式。