zoukankan      html  css  js  c++  java
  • shell脚本之用户管理

    #!/usr/bin/env bash
    
    ###############################
    # 脚本名称 : userManager.sh    #
    # 脚本功能 : 账号管理           #
    # 脚本参数 : 无                #
    # 创建时间 : 2019-07-25	      #	
    # 作    者 : Mr.Guo	      #	
    # 版    本 : v1.0	      #	
    ###############################
    
    # 提示信息 []<-()
    note_message(){
    	cat <<EOF
    	--------用户管理程序----------- 
    		1.创建用户
    		2.删除用户
    		3.锁定用户
    		4.解锁用户
    		5.退出脚本
    EOF
    }
    
    # 创建账户 []<-(user:string,passwd:string)
    create_user(){
    	user="$1"
    	pwd="$2"
    
    	useradd "$user"	# 添加账户
    	echo "$pwd" | passwd --stdin "$user" # 设置密码
    	
    	if [[ "$?" == 0  ]];
    	   then
    		echo "用户已经创建成功"
    		exit
    	fi
    }
    
    # 删除账户 []<-(user:string)
    delete_user(){
    	user="$1"
    
    	userdel "$user"	# 删除用户
    	
    	if [[ "$?" == 0 ]];
    	   then
    		echo "已经删除${user}用户"
    	fi
    }
    
    # 锁定账户 []<-(user:string)
    lock_user(){
    	user="$1"
    	STAT=$(passwd -S "$user" | awk '{print $2}')
    	
    	if [[ "$STAT" == "PS" ]];
    	   then
    		passwd -l "$user"
    	fi
    	
    	if [[ "$STAT" == "LK" ]];
    	   then
    		echo "用户 $user 已经锁定"
    		exit
    	fi
    }
    
    # 解锁账户 []<-(user:string)
    unlock_user(){
    	user="$1"
    	STAT=$(passwd -S "$user" | awk '{print $2}')
    	
    	if [[ "$STAT" == "LK" ]];
    	   then
    		passwd -u "$user"
    	fi
    
    	if [[ "$STAT" == "PS" ]];
    	   then
    		echo "已解锁账户 $user"
    		exit
    	fi
    }
    
    # 退出脚本 []<-()
    exit_script(){
    	read -p "是否退出脚本(yes)" tu
    	
    	if [[ "$tu" == "yes" ]];
    	   then
    		exit
    	fi
    }
    
    # 主函数 []<-()
    main(){
    	note_message	# 提示信息	
    	
    	read -p "请输入操作选择(1-5):" sn
    	
    	case "$sn" in
    		1)
    			read -p "请输入需要创建的用户名:" uname
    			read -p "请给该账户设置一个密码:" passwd
    			create_user "$uname" "$passwd"
    		;;
    		2)
    			read -p "请输入需要删除的用户名:" uname
    			delete_user "$uname"
    		;;
    		3)
    			read -p "请输入需要锁定的用户名:" uname
    			lock_user "$uname"
    		;;
    		4)
    			read -p "请输入需要解锁的用户名:" uname
    			unlock_user "$uname"
    		;;
    		5)
    			printf "退出脚本
    "
    			exit_script
    		;;
    	esac
    }		
    
    # 函数运行
    main
    

      

  • 相关阅读:
    c++ 利用new动态的定义二维数组
    golang在linux后台执行的方法
    Linux安装配置go运行环境
    SpringCloud 笔记
    你真的了解 Unicode 和 UTF-8 吗?
    Elasticsearch 系列文章汇总(持续更新...)
    Maven 的依赖范围
    在 centos 上安装 virutalbox
    Java 异常总结
    使用 RabbitMQ 实现异步调用
  • 原文地址:https://www.cnblogs.com/Gxiaobai/p/11257282.html
Copyright © 2011-2022 走看看