[root@localhost ~]# ./user_manager.sh
//==============================\
| 用户管理系统 |
----------------------------------
| 1、创建用户 |
| 2、删除用户 |
| 3、锁定用户 |
| 4、解锁用户 |
| 5、查看用户 |
| 6、退出脚本 |
----------------------------------
请输入你的操作选择:
请输入你的用户名:
第二种方法
效果图如下:
#!/bin/bash
#
while true
do
cat << EOF
//======================\\
| 用户登录系统 |
--------------------------
| 1、创建用户 |
| 2、删除用户 |
| 3、锁定用户 |
| 4、解锁用户 |
| 5、查看用户 |
| 6、退出脚本 |
--------------------------
EOF
read -p "请输入你的操作选择:" num
#输入为1时的判断
if [ "$num" -eq 1 ]
then
read -p "请输入你的用户名:" user
if [ -d /home/$user ]
then
echo "***********该账号已存在,无需创建*************"
else
cat /etc/shadow | awk -F'[:]' '{print $1}' | grep -w $user &> /dev/null
if [ $? -eq 0 ]
then
echo "***********该账号已存在,无需创建*************"
else
useradd $user
echo "***********成功创建用户$user***************"
fi
fi
fi
#输入为2时的判断
if [ "$num" -eq 2 ]
then
read -p "请输入你的用户名:" user
if [ -d /home/$user ]
then
userdel -r $user
echo "******************成功删除用户$user****************"
else
echo "****************无该账号,删除失败*******************"
fi
fi
#输入为3时
if [ "$num" -eq 3 ]
then
read -p "请输入你的用户名:" user
l=$(cat /etc/shadow |grep $user | awk -F'[:]' '/!!/{print $2}' | grep -o '!!')
if [ -d /home/$user ]
then
if [ "$l" != !! ]
then
passwd -l $user &> /dev/null
echo "*****************成功锁定用户$user****************"
else
echo "***************该账号已锁定,无需再次锁定*******************"
fi
else
echo "**************无该账号,需创建************"
fi
fi
#输入为4时
if [ "$num" -eq 4 ]
then
read -p "请输入你的用户名:" user
l=$(cat /etc/shadow |grep -w $user | awk -F'[:]' '/!!/{print $2}' | grep -o '!!')
p=$(cat /etc/shadow |grep -w $user | awk -F'[:]' '{print $2}' | grep -o '^!')
if [ -d /home/$user ]
then
if [ "$l" = !! ]
then
passwd -u -f $user &> /dev/null
echo "**********************成功解锁用户$user************************"
elif [ "$p" = ! ]
then
usermod -U $user &> /dev/null
else
echo "*****************该用户未锁定,无需解锁*****************"
fi
else
echo "***********************无该账号,需创建**********************"
fi
fi
#输入为5时
if [ "$num" -eq 5 ]
then
read -p "请输入你的用户名:" user
if [ -d /home/$user ]
then
echo "******************用 户 $user 信 息 如 下***************************"
finger $user
else
echo "***********************无该账号,需创建**********************"
fi
fi
#输入为6时
if [ "$num" -eq 6 ]
then
echo "**************************欢迎使用,下次再见**************************"
exit
fi
done