歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux批量 添加/刪除 用戶腳本

Linux批量 添加/刪除 用戶腳本

日期:2017/2/28 15:47:26   编辑:Linux教程
說明:藍色=命令名稱

淺綠=命令參數

淺藍=選項

紫色=目錄

系統環境:CentOS 6.2 i686

添加腳本:

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

刪除腳本:

  1. #!/bin/bash
  2. del_users_only(){
  3. for i in $USERS
  4. do
  5. userdel $i
  6. echo "USER:$i"
  7. echo "`date +'%Y-%m-%d %H:%M:%S'` USER:$i" >> /var/log/deluser.log
  8. done
  9. }
  10. del_users_home(){
  11. for i in $USERS
  12. do
  13. HOME=`awk -F ":" '{ if($1~/test/) print $6}' /etc/passwd`
  14. userdel -r $i
  15. echo "USER:$i del HOME:$HOME"
  16. echo "`date +'%Y-%m-%d %H:%M:%S'` USER:$i del HOME:$HOME" >> /var/log/deluser.log
  17. done
  18. }
  19. select_y_n_2(){
  20. echo "Do you want to del HOME?(y/n)"
  21. read yn2
  22. case $yn2 in
  23. n|N)
  24. del_users_only;
  25. ;;
  26. y|Y)
  27. del_users_home;
  28. ;;
  29. *)
  30. echo "Please enter y or n"
  31. select_y_n_2;
  32. esac
  33. }
  34. select_y_n_1(){
  35. echo "del USERS:$USERS"
  36. echo "Do you want to del USERS?(y/n)"
  37. read yn1
  38. case $yn1 in
  39. n|N)
  40. exit;
  41. ;;
  42. ""|y|Y)
  43. select_y_n_2;
  44. ;;
  45. *)
  46. echo "Please enter y or n"
  47. select_y_n_1;
  48. esac
  49. }
  50. if test -z "$1" ||[ "$1" = "-" ]||[ "${1:0:1}" != "-" ]
  51. then
  52. echo "Unkonw argument! Please use -h for help."
  53. exit;
  54. else
  55. while getopts "u:h" opt
  56. do
  57. case $opt in
  58. ""|h)
  59. cat << EOF
  60. Useing Option:
  61. -u keywork for users
  62. -h help infomation
  63. EOF
  64. exit;
  65. ;;
  66. u)
  67. WORD=$OPTARG
  68. ;;
  69. ?)
  70. echo "Unkonw argument! Please use -h for help."
  71. exit;
  72. esac
  73. done
  74. USERS=`awk -F ":" '$3>=500&&$1~/'"$WORD"'/ {print $1}' /etc/passwd`
  75. if test -z "$USERS"
  76. then
  77. echo "Users are not found!"
  78. exit;
  79. else
  80. select_y_n_1
  81. fi
  82. fi
Copyright © Linux教程網 All Rights Reserved