Shell管理用戶腳本

#!/bin/bash
echo "用戶管理程序"
echo "1.創建用戶"
echo "2.刪除用戶"
echo "3.鎖定用戶"
echo "4.解鎖用戶"
echo "5.退出腳本"

read -p "請輸入您的操作選擇(1-5):" sn #讀取終端輸入並且賦值給sn
case $sn in #case語句判斷sn的值,取值要在變量前面加$符號,賦值不用加
1) #如果sn的值爲1
read -p "請輸入創建用戶名:" nu #讀取終端輸入並且賦值給sn
useradd $nu #添加用戶,用戶名爲變量nu的值
echo "123456" | passwd --stdin $nu #爲用戶設置密碼爲123456
if [ '$?' == '0' ]; #如果上一條命令執行結果爲真,即設置密碼這一步沒有錯
then #執行條件語句
echo "用戶已經創建成功"
exit #退出腳本執行,可以設置退出參數0-266
fi #條件語句結尾
;; #每一個條件的結束標誌

2) #如果sn的值爲2
read -p "請輸入要刪除用戶名:" nl  
userdel $nl
echo "已經刪除$nl用戶"

if
[ $? -ne 0 ];
then
echo "成功刪除"
fi
;;

3) #如果sn的值爲3
STAT=$(passwd -S $use | awk '{print $2}') #獲取用戶鎖定狀態,passwd -S $use命令輸出的第二個字段值
read -p "鎖定用戶" use
if [ '$STAT' == "PS" ]; #PS未鎖定
then
passwd -l $use  #鎖定用戶
fi
if [ '$STAT' == "LK" ]; #LK已鎖定
then
echo "已經鎖定用戶"
exit
fi
;;

4) #如果sn的值爲4
read -p "解鎖用戶" jie
echo $jie 
if [ '$STAT' == "LK" ];
then
passwd -u $jie #解鎖用戶
fi
if [ '$STAT' == "LK" ];
then
echo "已經解鎖用戶"
exit
fi
;;
5) #如果sn的值爲5
if [ $sn == 5 ];
then
read -p "是否退出(yes)" tu
if [ $tu == yes  ];
then
    exit 
fi

fi

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