#!/bin/bash
#liushuai
#2019-12-01
function menu() {
clear
echo
echo -e "\033[40;37;5m liushuai \033[0m "
echo -e "\t\t\t用户登录首页\n\n"
echo -e "\t1. 登录已有用户"
echo -e "\t2. 创建新的用户"
echo -e "\t3. 查看用户状态"
echo -e "\t4. 退出用户程序\n"
}
function lock() {
sleep 1
clear
[ -f /.lock.txt ] || touch /.lock.txt
if [ "$?" -eq 0 ];then
echo "创建用户存储文件......"
sleep 1
echo "文件创建成功"
sleep 1
fi
}
function dl() {
[ -f /.dl.txt ] || touch /.dl.txt
if [ "$?" -eq 0 ];then
echo "检测本地环境中......."
sleep 2
echo "检测完成"
sleep 1
fi
}
function User() {
clear
read -p "是否确认进入该模块y/n: " w
if [ "$w" = "y" -o "$w" = "Y" ];then
echo "请稍等......."
sleep 1
else
return
fi
clear
while :
do
read -p "请输入你的用户名:" num
userc=`grep -w "$num" /.lock.txt | awk -F ":" '{print $1}'`
if [ "$num" = "$userc" ];then
echo "该用户已经被锁定,无法登录"
sleep 1
return
fi
userd=`grep -w "$num" /.dl.txt | awk -F ":" '{print $1}'`
passwd=`grep -w "$num" /.dl.txt | awk -F ":" '{print $2}'`
if [ "$num" = "$userd" ];then
echo "正在确认用户请稍等......."
sleep 1
else
echo "对不起,没有该用户请在首页创建"
sleep 1
return
fi
for ((i=0;i<4;i++))
do
if [ "$i" -eq 3 ];then
echo `echo ${num}: >> /.lock.txt`
echo "${num}已经被锁定,10天后将会自动解锁"
[ -f /var/spool/cron/$USER ] || touch /var/spool/cron/$USER
for l in `grep "$num" /.lock.txt | awk -F ":" '{print $1}'`
do
echo `echo "* * */10 * * /bin/sed -i '/${num}/d' /.lock.txt" >> /var/spool/cron/$USER`
done
sleep 1
return
fi
read -p "请输入你的密码:" pass
while :
do
echo "确认密码中请稍等......."
sleep 1
if [ "$passwd" = "$pass" ];then
echo "登录成功"
sleep 1
return
else
echo "用户名或密码错误"
sleep 1
break
fi
done
done
done
}
function Mkuser() {
clear
read -p "是否确认进入该模块y/n: " t
if [ "$t" = "y" -o "$t" = "Y" ];then
echo "请稍等......"
sleep 1
else
return
fi
clear
while :
do
while :
do
read -p "请输入需要创建的用户名:" mkuser
usere=`grep -w "$mkuser" /.dl.txt | awk -F ":" '{print $1}' | head -1`
if [ "$mkuser" = "$usere" ];then
echo "该用户已经存在,请重新输入用户名"
sleep 1
continue
fi
read -p "是否使用${mkuser}这个用户名y/n: " q
if [ "$q" = "n" -o "$q" = "N" ];then
continue
fi
while :
do
read -p "请输入密码 :" npass
read -p "是否使用该密码y/n: " npassa
if [ "$npassa" = "n" -o "$npassa" = "N" ];then
continue
else
echo "该用户创建成功,请返回首页登录"
echo `echo "$mkuser:$npass" >> /.dl.txt `
sleep 1
return
fi
done
done
done
}
function Catuser() {
clear
read -p "是否确认进入该模块y/n:" v
if [ "$v" = "y" -o "$v" = "Y" ];then
echo "请稍等......"
sleep 1
else
return
fi
clear
read -p "请输入你要查看的用户名:" catuser
user=`grep -w "$catuser" /.lock.txt | awk -F ":" '{print $1}'`
usera=`grep -w "$catuser" /.dl.txt | awk -F ":" '{print $1}'`
if [ "$catuser" = "$user" ];then
echo "该用户已经被锁定状态"
sleep 1
return
elif [ "$catuser" = "$usera" ];then
echo "该用户处于正常状态"
sleep 1
return
else
echo "该用户未注册,请前往首页注册"
sleep 1
return
fi
}
a=""
lock
dl
while :
do
menu
read -p "请确认你的输入选项: " option
case $option in
1)
User
;;
2)
Mkuser
;;
3)
Catuser
;;
4)
echo "即将退出程序......."
sleep 1
clear
exit
;;
*)
echo "请正确输入对应的数字"
;;
esac
done