Linux批量 添加/删除 用户脚本

字体大小: 中小 标准 ->行高大小: 标准
说明:蓝色=命令名称

      浅绿=命令参数

      浅蓝=选项

      紫色=目录

      系统环境:CentOS  6.2  i686

 添加脚本:

  1. #!/bin/bash   
  2. PWD=users.txt  PASSWD=123456  
  3.  while getopts "d:p:h" opt  
  4. do  case $opt in 
  5. h)   cat << EOF  
  6. Useing Option:  -d a txt for users,default ./users.txt  
  7. -p users password, default 123456  -h help infomation  
  8. EOF  exit;   
  9. ;;  d)  
  10. PWD=$OPTARG  ;;  
  11. p)  PASSWD=$OPTARG  
  12. ;;  *)  
  13. echo "Unkonw argument! Please use -h for help." exit;  
  14. esac   done  
  15.  if test -f "$PWD" 
  16. then for i in `cat $PWD`  
  17. do  USER=`awk -F ":" '{if($1~/peixun_'"$i"'/) print $1}' /etc/passwd`  
  18. #if ["$USER" != "peixun_$1"];  #echo "`awk -F ":" '{if($1~/peixun_'"$i"'/) print $1}' /etc/passwd`" 
  19. if test -z "`awk -F ":" '{if($1~/peixun_'"$i"'/) print $1}' /etc/passwd`" then   
  20. useradd -m peixun_$i  echo "$PASSWD"|passwd --stdin peixun_$i &> /dev/null  
  21. echo "USER:peixun_$i PASSWD:$PASSWD" echo "`date +"%Y-%m-%D %H%M%S"` USER:peixun_$i PASSWD:$PASSWD" >> /var/log/adduser.log  
  22. else   echo "User peixun_$i is exists" 
  23. fi  done  
  24. else echo "not found $PWD" 
  25. exit;  fi 

删除脚本:

  1. #!/bin/bash   
  2. del_users_only(){   for i in $USERS  
  3. do  userdel $i  
  4. echo "USER:$i" echo "`date +'%Y-%m-%d %H:%M:%S'` USER:$i" >> /var/log/deluser.log  
  5. done  }  
  6.  del_users_home(){   
  7. for i in $USERS  do  
  8. HOME=`awk -F ":" '{ if($1~/test/) print $6}' /etc/passwd`  userdel -r $i  
  9. echo "USER:$i del HOME:$HOME"   echo "`date +'%Y-%m-%d %H:%M:%S'` USER:$i del HOME:$HOME" >> /var/log/deluser.log  
  10. done  }  
  11.  select_y_n_2(){  
  12. echo "Do you want to del HOME?(y/n)" read yn2  
  13. case $yn2 in n|N)  
  14. del_users_only;  ;;   
  15. y|Y)   del_users_home;  
  16. ;;   *)   
  17. echo "Please enter y or n" select_y_n_2;  
  18. esac   }  
  19.  select_y_n_1(){  
  20. echo "del USERS:$USERS" echo "Do you want to del USERS?(y/n)" 
  21. read yn1  case $yn1 in 
  22. n|N)  exit;  
  23. ;;  ""|y|Y)   
  24. select_y_n_2;  ;;  
  25. *)  echo "Please enter y or n" 
  26. select_y_n_1;  esac  
  27. }   
  28. if test -z "$1" ||[ "$1" = "-" ]||[ "${1:0:1}" != "-" ]  then 
  29. echo "Unkonw argument! Please use -h for help." exit;  
  30. else while getopts "u:h" opt  
  31. do  case $opt in 
  32. ""|h)  cat << EOF  
  33. Useing Option:  -u keywork for users  
  34. -h help infomation  EOF  
  35. exit;  ;;  
  36. u)  WORD=$OPTARG  
  37. ;;  ?)  
  38. echo "Unkonw argument! Please use -h for help." exit;  
  39. esac  done  
  40.  USERS=`awk -F ":" '$3>=500&&$1~/'"$WORD"'/ {print $1}' /etc/passwd`   
  41.  if test -z "$USERS" 
  42. then echo "Users are not found!" 
  43. exit;  else 
  44. select_y_n_1  fi  fi 

此文章由 http://www.ositren.com 收集整理 ,地址为: http://www.ositren.com/htmls/66468.html