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 "退出脚本\n" exit_script ;; esac } # 函数运行 main