zoukankan      html  css  js  c++  java
  • 利用shell脚本做一个用户登录系统

    效果图如下:

    #!/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

  • 相关阅读:
    Eclipse配置Go语言开发环境(GoEclipse)
    Maven项目设置JDK版本
    PowerDesigner16下载和破解
    Ubuntu安装JDK配置环境变量
    IIS配置文件的XML格式不正确 applicationHost.config崩溃 恢复解决办法
    Android Studio中文注释提示编码问题,Gradle: 警告:编码 GBK 的不可映射字符的方法...
    Android Studio 编译异常Could not execute build using Gradle installation解决办法
    Android Studio 导入第三方JAR编译正常,但运行时调用不了问题的解决方案
    Android Studio添加第三放JAR后无法编译问题解决方案
    Eclipse打不开,提示: An error has occurred. see the log file解决办法
  • 原文地址:https://www.cnblogs.com/yuan9910/p/11445802.html
Copyright © 2011-2022 走看看