Welcome 微信登录

首页 / 操作系统 / Linux / Linux批量 添加/删除 用户脚本

说明:蓝色=命令名称      浅绿=命令参数      浅蓝=选项      紫色=目录      系统环境:CentOS  6.2  i686 添加脚本:
  1. #!/bin/bash  
  2.  
  3. PWD=users.txt  
  4. PASSWD=123456  
  5.  
  6. while getopts "d:p:h" opt  
  7. do  
  8. case $opt in 
  9. h)   
  10. cat << EOF  
  11. Useing Option:  
  12. -d a txt for users,default ./users.txt  
  13. -p users password, default 123456  
  14. -h help infomation  
  15. EOF  
  16. exit;   
  17. ;;  
  18. d)  
  19. PWD=$OPTARG  
  20. ;;  
  21. p)  
  22. PASSWD=$OPTARG  
  23. ;;  
  24. *)  
  25. echo "Unkonw argument! Please use -h for help." 
  26. exit;  
  27. esac   
  28. done  
  29.  
  30. if test -f "$PWD" 
  31. then 
  32. for i in `cat $PWD`  
  33. do  
  34. USER=`awk -F ":" "{if($1~/peixun_""$i""/) print $1}" /etc/passwd`  
  35. #if ["$USER" != "peixun_$1"];  
  36. #echo "`awk -F ":" "{if($1~/peixun_""$i""/) print $1}" /etc/passwd`" 
  37. if test -z "`awk -F ":" "{if($1~/peixun_""$i""/) print $1}" /etc/passwd`" 
  38. then   
  39. useradd -m peixun_$i  
  40. echo "$PASSWD"|passwd --stdin peixun_$i &> /dev/null  
  41. echo "USER:peixun_$i PASSWD:$PASSWD" 
  42. echo "`date +"%Y-%m-%D %H%M%S"` USER:peixun_$i PASSWD:$PASSWD" >> /var/log/adduser.log  
  43. else   
  44. echo "User peixun_$i is exists" 
  45. fi  
  46. done  
  47. else 
  48. echo "not found $PWD" 
  49. exit;  
  50. fi 
删除脚本:
  1. #!/bin/bash  
  2.  
  3. del_users_only(){   
  4. for i in $USERS  
  5. do  
  6. userdel $i  
  7. echo "USER:$i" 
  8. echo "`date +"%Y-%m-%d %H:%M:%S"` USER:$i" >> /var/log/deluser.log  
  9. done  
  10. }  
  11.  
  12. del_users_home(){   
  13. for i in $USERS  
  14. do  
  15. HOME=`awk -F ":" "{ if($1~/test/) print $6}" /etc/passwd`  
  16. userdel -r $i  
  17. echo "USER:$i del HOME:$HOME"   
  18. echo "`date +"%Y-%m-%d %H:%M:%S"` USER:$i del HOME:$HOME" >> /var/log/deluser.log  
  19. done  
  20. }  
  21.  
  22. select_y_n_2(){  
  23. echo "Do you want to del HOME?(y/n)" 
  24. read yn2  
  25. case $yn2 in 
  26. n|N)  
  27. del_users_only;  
  28. ;;   
  29. y|Y)   
  30. del_users_home;  
  31. ;;   
  32. *)   
  33. echo "Please enter y or n" 
  34. select_y_n_2;  
  35. esac   
  36. }  
  37.  
  38. select_y_n_1(){  
  39. echo "del USERS:$USERS" 
  40. echo "Do you want to del USERS?(y/n)" 
  41. read yn1  
  42. case $yn1 in 
  43. n|N)  
  44. exit;  
  45. ;;  
  46. ""|y|Y)   
  47. select_y_n_2;  
  48. ;;  
  49. *)  
  50. echo "Please enter y or n" 
  51. select_y_n_1;  
  52. esac  
  53. }  
  54.  
  55. if test -z "$1" ||[ "$1" = "-" ]||[ "${1:0:1}" != "-" ]  
  56. then 
  57. echo "Unkonw argument! Please use -h for help." 
  58. exit;  
  59. else 
  60. while getopts "u:h" opt  
  61. do  
  62. case $opt in 
  63. ""|h)  
  64. cat << EOF  
  65. Useing Option:  
  66. -u keywork for users  
  67. -h help infomation  
  68. EOF  
  69. exit;  
  70. ;;  
  71. u)  
  72. WORD=$OPTARG  
  73. ;;  
  74. ?)  
  75. echo "Unkonw argument! Please use -h for help." 
  76. exit;  
  77. esac  
  78. done  
  79.  
  80. USERS=`awk -F ":" "$3>=500&&$1~/""$WORD""/ {print $1}" /etc/passwd`   
  81.  
  82. if test -z "$USERS" 
  83. then 
  84. echo "Users are not found!" 
  85. exit;  
  86. else 
  87. select_y_n_1  
  88. fi  
  89. fi 
Linux中的super pi(bc 命令总结)Linux去除重复列(awk之数组妙用)相关资讯      Linux脚本 
  • 获取Linux服务器基本信息脚本  (02月17日)
  • Linux 批量拷贝数据脚本  (03/05/2015 10:47:12)
  • 简单的Linux脚本程序  (11/10/2013 08:45:07)
  • Linux定时任务中用脚本代替可执行  (06/06/2015 06:37:39)
  • Linux下的flashback脚本  (05/21/2014 08:25:05)
  • Linux下记录所有用户操作的脚本  (07/29/2013 08:33:39)
本文评论 查看全部评论 (0)
表情: 姓名: 字数