Advertisement
Guest User

Untitled

a guest
Apr 18th, 2018
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.61 KB | None | 0 0
  1. #!/bin/bash
  2. usuarios="/etc/passwd"
  3. id=$(id -u)
  4. if [ "$id" != "0" ]
  5. then
  6. echo "Este script necesita privilegios de administracion"
  7. exit 1
  8. fi
  9. if [ $# -ne 2 ]
  10. then
  11. echo "Numero incorrecto de parametros"
  12. elif [ $1 = "-a" ]
  13. then
  14. while read -r line
  15. do
  16. user=$(echo "$line" | cut -d "," -f 1)
  17. pass=$(echo "$line" | cut -d "," -f 2)
  18. name=$(echo "$line" | cut -d "," -f 3)
  19. if [ -n "$user" -a -n "$pass" -a -n "$name" ]
  20. then
  21. actual=$(grep "^$user:" "$usuarios")
  22. if [ -n "$actual" ]
  23. then
  24. echo "El usuario "$user" ya existe"
  25. else
  26. useradd -U -m -K UID_MIN=1000 -k /etc/skel -c "$name" "$user"
  27. echo ""$user":"$pass"" | chpasswd -c MD5
  28. chage -M 30 "$user"
  29. echo ""$name" ha sido creado."
  30. fi
  31. else
  32. echo "Campo invalido"
  33. exit 1
  34. fi
  35. done < "$2"
  36. elif [ $1 = "-s" ]
  37. then
  38. mkdir -p /extra/backup
  39. while read -r line
  40. do
  41. user=$(echo "$line" | cut -d "," -f 1)
  42. if [ -n "$user" ]
  43. then
  44. user_home=$(grep "^$user:" "$usuarios" | cut -d":" -f6)
  45. actual=$(grep "^$user:" "$usuarios")
  46. if [ -n "$actual" ]
  47. then
  48. if $(tar -cf /extra/backup/"$user".tar "$user_home"/* > /dev/null 2>&1)
  49. then
  50. usermod -L "$user"
  51. userdel -r "$user" > /dev/null 2>&1
  52. fi
  53. fi
  54. else
  55. echo "Campo invalido"
  56. exit 1
  57. fi
  58. done < "$2"
  59. else
  60. echo "Opcion invalida" >&2
  61. exit 1
  62. fi
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement