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
    

      

  • 相关阅读:
    转 configure: error: Cannot find ldap.h
    DDoS(Distributed Denial of Service,分布式拒绝服务)
    j2ee 1.5和1.6的区别
    机器学习
    免安装版Tomcat6.0启动方法
    mysql补充(2)常用sql语句
    mysql补充(4)数据完整性
    mysql补充(3)优化sql语句查询常用的30种方法
    mysql补充(1)校对集utf8_unicode_ci与utf8_general_ci
    jdbc(1)(一)
  • 原文地址:https://www.cnblogs.com/Gxiaobai/p/11257282.html
Copyright © 2011-2022 走看看