作業要求:
輸出如圖所示的圖形,編寫代碼可以實現所有的要求
#! /bin/bash
#這是創建用戶管理系統的腳本
#Date:2019年9月3號
#filename:user.sh
#用到了判斷、循環,思路很清晰,中等難度
#自己寫一個這樣的框
echo "
//===========================\\
| 用戶管理系統 |
---------------------------------------------------
| 1、創建用戶 |
| 2、刪除用戶 |
| 3、鎖定用戶 |
| 4、解鎖用戶 |
| 5、查看用戶 |
| 6、退出腳本 |
---------------------------------------------------
"
#寫一個循環
while :
do
#執行操作,輸入你要操作的序號(1、2、3、4、5、6)
read -p "請輸入你的操作選擇:" user
#創建用戶,user輸入1時,寫一個if條件語句
if [ $user -eq 1 ]
then
read -p "請輸入你的用戶名:" name
#判斷輸入的用戶名是否存在,若存在可以查看用戶id,該命令能夠執行,返回值1,說明用戶已存在不能創建了;若用戶不存在,就無法執行該命令,返回值為0,就可以創建用戶
id $name &> /dev/null
if [ $? -eq 0 ]
then
echo "******用戶已存在!******"
else
read -p "請輸入密碼:" mi
useradd $name && echo "$mi" | passwd --stdin $name &> /dev/null
echo "******用戶創建成功!******"
fi
fi
#刪除用戶,先查看用戶存不存在,還是查看用戶id看命令執行后的返回值,若返回值為0說明用戶存在,執行刪除操作;若返回值為1說明用戶不存在
if [ $user -eq 2 ]
then
read -p "請輸入你的用戶名:" name
id $name &> /dev/null
if [ $? -eq 0 ]
then
userdel -r $name
echo "******刪除用戶成功!******"
else
echo "******用戶不存在!******"
fi
fi
#鎖定用戶
if [ $user -eq 3 ]
then
read -p "請輸入你的用戶名:" name
#從/etc/passwd文件中過濾你要操作的用戶名,從找出的用戶中過濾出‘!’,若該命令過濾出‘!’了,說明該用戶已被鎖定
grep $name /etc/shadow | grep '!' &> /dev/null
if [ $? -ne 0 ]
then
passwd -l $name &> /dev/null
echo "******已成功鎖定用戶!******"
else
echo "******鎖定用戶不成功!******"
fi
fi
#解鎖用戶
if [ $user -eq 4 ]
then
read -p "請輸入你的用戶名:" name
grep $name /etc/shadow | grep '!' &> /dev/null
if [ $? -eq 0 ]
then
passwd -u -f $name &> /dev/null
echo "******解鎖用戶成功!******"
else
echo "******鎖定用戶不成功!******"
fi
fi
#查看用戶,先查看用戶存不存在,再根據命令的返回值查看用戶
if [ $user -eq 5 ]
then
read -p "請輸入你的用戶名:" name
grep $name /etc/passwd &> /dev/null
if [ $? -eq 0 ]
then
finger $name
echo "******查看用戶成功!******"
else
echo "******用戶不存在!******"
fi
fi
#退出腳本
if [ $user -eq 6 ]
then
exit
fi
done