• 用户管理系统


    #!/bin/bash
    #用户管理系统

    #判断用户是否存在`
    panuser(){
    cat /etc/passwd | awk -F':' '{print $1}' | grep -q ^$1$
    if [ $? -eq 0 ];then
    return 1 #表示用户存在
    else
    return 2 #表示用户不存在
    fi
    }

    #创建用户
    createuser(){
    panuser $1 #判断存在提示,不存在创建
    if [ $? = 1 ];then
    echo "用户已经存在,无需创建"
    return 1
    else
    useradd $1
    if [ $? -eq 0 ];then
    echo "创建用户成功!"
    return 1
    else
    echo "创建用户失败!"
    return 2
    fi
    fi
    }
    #删除用户
    deluser(){
    panuser $1 #判断存在删除,不存在提示
    if [ $? = 1 ];then
    echo "用户存在正在删除...."
    userdel -r $1
    panuser $1
    if [ ! $? -eq 0 ];then
    echo "删除成功!"
    return 1
    else
    echo "删除失败!!!"
    deluser $1
    return 2
    fi
    return 1
    else
    echo "用户不存在!!!"
    return 2
    fi
    }

    #判断用户是否被锁
    pan_user(){
    cat /etc/shadow |grep -w $1 | awk -F':' '{print $2}' | grep -q ^!
    if [ $? -eq 0 ];then
    return 2 #表示已经锁定
    else
    return 1 #表示没有锁定
    fi
    }

    #锁定用户
    suo_user(){
    pan_user $1 #判断没锁锁定,锁了提示
    if [ $? -eq 1 ];then
    passwd -l $1 &> /dev/null
    if [ $? -eq 0 ];then
    echo "锁定账号成功!"
    return 1
    else
    echo "锁定账号失败"
    return 2
    fi
    else
    echo "账号已经被锁定,无需再锁定!!!"
    return 2
    fi
    }

    #解锁用户
    jie_user(){
    pan_user $1 #判断锁了解锁,没锁提示
    if [ $? -eq 2 ];then
    passwd -uf $1 &> /dev/null
    if [ $? -eq 0 ];then
    echo "解锁账号成功!"
    return 1
    else
    echo "解锁账号失败"
    return 2
    fi
    else
    echo "账号没有被锁定,无需解锁!!!"
    return 2
    fi

    }

    #查看用户
    cha_user(){
    panuser $1 #判断存在查看,不存在提示
    if [ $? = 1 ];then
    finger $1
    else
    echo "账户不存在!!!"
    fi

    }

    #退出
    tui(){ #退出提示3秒后退出
    echo "正在退出脚本......"
    sleep 3
    exit
    }

    #主界面
    echo "
    //========================================================\\
    | 用户管理系统 |
    -----------------------------------------------------------
    | 1、创建用户 |
    | 2、删除用户 |
    | 3、锁定用户 |
    | 4、解锁用户 |
    | 5、查看用户 |
    | 6、退出脚本 |
    -----------------------------------------------------------
    "
    #无限循环实现菜单选择
    while true
    do
    read -p "请输入你操作的选项:" zhu
    #根据输入判断输出
    case $zhu in 1)
    read -p "请输入要创建的用户名:" create_user
    createuser $create_user

    ;;
    2)
    read -p "请输入要删除的用户:" del_user
    deluser $del_user
    ;;
    3)
    read -p "请输入要锁定的用户名:" suoding_user
    panuser $suoding_user
    if [ $? -eq 1 ];then
    suo_user $suoding_user
    else
    echo "账户不存在"
    fi
    ;;
    4)
    read -p "请输入要解锁的用户:" jiesuo_user
    panuser $jiesuo_user
    if [ $? -eq 1 ];then
    jie_user $jiesuo_user
    else
    echo "账户不存在"
    fi
    ;;
    5)
    read -p "请输入要查看的用户:" chakan_user
    cha_user $chakan_user
    ;;
    6)
    echo "退出脚本"
    tui
    ;;
    *)
    echo "不存在的选项"
    esac

    done

  • 相关阅读:
    IE、FF、Chrome浏览器中的JS差异介绍
    防止 jsp被sql注入的五种方法
    读取Excel数据到Table表中
    C#获取IP地址
    JavaScript之web通信
    Unity使用 转载
    EF5 通用数据层 增删改查操作,泛型类
    Entity FrameWork 5 增删改查 & 直接调用sql语句
    asp.net重启web应用程序域
    .net创建activex实现摄像头拍照
  • 原文地址:https://www.cnblogs.com/fengling1998/p/11445800.html
Copyright © 2020-2023  润新知