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
    

      

  • 相关阅读:
    Windows 科研软件推荐
    有关Python 包 (package) 的基本知识
    《Using Python to Access Web Data》Week4 Programs that Surf the Web 课堂笔记
    Coursera助学金申请模板
    《Using Databases with Python》 Week2 Basic Structured Query Language 课堂笔记
    Jupyter 解决单个变量输出问题
    解决 pandas 中打印 DataFrame 行列显示不全的问题
    《Using Python to Access Web Data》 Week3 Networks and Sockets 课堂笔记
    缓存击穿及解决方案
    jvm垃圾收集器
  • 原文地址:https://www.cnblogs.com/Gxiaobai/p/11257282.html
Copyright © 2011-2022 走看看